Mục tiêu của đồ án: Xây dựng hệ thống botnet, nghiên cứu cách thức hoạt động của hệ thống botnet, tìm hiểu một số kỹ thuật coding thú vị trong mã nguồn, lây nhiễm mã độc lên thiết bị thật và thực nghiệm tấn công DDoS, nghiên cứu phát triển những hạn chế của mã nguồn. Mời các bạn cùng tham khảo.
Trang 1BAN C Y U CHÍNH PHƠ Ế Ủ
Mã s : 52.48.02.01ố
Hà N i, 2017ộ
Trang 2BAN C Y U CHÍNH PHƠ Ế Ủ
Trang 3Hà N i, 2017ộ
Trang 4M C L CỤ Ụ
Danh m c kí hi u và vi t t tụ ệ ế ắ
5 Danh m c hình vụ ẽ
6 Danh m c b ngụ ả
11 1.2. Gi i thi t v Internet of Thingsớ ệ ề
12
Chương 2. T ng quan v t n công t ch i d ch v ddosổ ề ấ ừ ố ị ụ
16 2.1. T ng quan v an ninh m ngổ ề ạ
16 2.2. T ng quan v t n công t ch i d ch vổ ề ấ ừ ố ị ụ
16
Chương 3. Nghiên c u v mã ngu n botnet miraiứ ề ồ
19 3.1. Gi i thi u v Botnet Miraiớ ệ ề
19 3.2. Phân tích các thành ph n c a Botnet Miraiầ ủ
22
Chương 4. Tri n khai th c nghi m botnet mirai trÊn cÁc thi t bể ự ệ ế ị iot
37 4.1. Mô t th c nghi mả ự ệ
37 4.2. Th nghi m t n côngử ệ ấ
37
K t lu nế ậ
51 Tài li u tham kh oệ ả
52
Ph l cụ ụ
53
Trang 5DANH M C KÍ HI U VÀ VI T T TỤ Ệ Ế Ắ
Admin Administrator
ARPANET Advanced Research Projects Agency NetworkCNC Command And Control
Trang 6DANH M C HÌNH VỤ Ẽ
Hình 1.1. Xu hướng phát tri n IoT.ể 12
Hình 3.2. Mirai s d ng 5 useragent khác nhau (mirai/bot/table.h).ử ụ .20
Hình 3.3. Mirai s d ng 10 k thu t t n công t ch i d ch vử ụ ỹ ậ ấ ừ ố ị ụ (mirai/bot/attack.h) 20
Hình 3.4. Mô hình ho t đ ng logic c a các thành ph n.ạ ộ ủ ầ 21
Hình 3.5. C u trúc th m c mã ngu nấ ư ụ ồ 21
Hình 3.6. CNC l ng nghe k t n i (mirai/cnc/main.go).ắ ế ố 23
Hình 3.7 CNC nh n đậ ược thông tin là bot ho c adminặ (mirai/cnc/main.go) 24
Hình 3.8. Nh p username t cmd.ậ ừ 24
Hình 3.9. Nh p password t cmd.ậ ừ 24
Hình 3.10. Nh p password t cmd.ậ ừ 25
Hình 3.11. Thông báo đăng nh p thành công.ậ 25
Hình 3.12. Ki m tra s lể ố ượng Bot connect t i CNC.ớ 25
Hình 3.13. Thêm và c u hình cho tài kho n m i.ấ ả ớ 26
Hình 3.14. Hàm AttackInfoLookup 27
Hình 3.15. Thi t l p network card cho report server (loader/main.c).ế ậ .27
Hình 3.16. Kh i t o server ch a mã đ c (loader/main.c).ở ạ ứ ộ 28
Hình 3.17. Nh n ip, port, user, pass t STDIN (loader/main.c).ậ ừ 28
Hình 3.18. S d ng busybox login và lây mã đ c (loader/server.c).ử ụ ộ 31 Hình 3.19. L ng nghe k t n i trên c ng 48101 (scanListen.go).ắ ế ố ổ 31
Hình 3.20 Hi n th thông tin thi t b bruteforce để ị ế ị ược (scanListen.go) 32
Hình 3.21. Che d u ti n trình (mirai/bot/main.c).ấ ế 33
Hình 3.22. Các phương th c t n công (mirai/bot/attack.c).ứ ấ 34
Hình 3.23. Kill các c ng d ch v (mirai/bot/killer.c).ổ ị ụ 34
Hình 3.24. Ngăn c n thi t b reboot l i (mirai/bot/main.c).ả ế ị ạ 35
Trang 7Hình 3.25 Tài kho n dùng đ bruteforce IoT m iả ể ớ
(mirai/bot/scanner.c) 35
Hình 3.26. Đ a ch bruteforce thi t b IoT m i (mirai/bot/scanner.c).ị ỉ ế ị ớ .35
Hình 3.27 Bot g i thông tin các IoT m i đã bruteforceử ớ (mirai/bot/scanner.c) 36
Hình 3.28. Khai báo domain và port các server (mirai/bot/table.c) 36
Hình 4.29. Kh i ch y CNC Server.ở ạ 38
Hình 4.30. Cài đ t thông tin c a Database (cnc\main.c).ặ ủ 39
Hình 4.31. CNC đăng nh p Database (cnc\database.go).ậ 39
Hình 4.32. Kh i ch y scanListen.ở ạ 39
Hình 4.33. M port 48101 ch k t qu t Bot.ở ờ ế ả ừ 40
Hình 4.34. Nh p Bot cho Loader.ậ 40
Hình 4.35. Loader k t n i thi t b IoT lây nhi m Malware.ế ố ế ị ễ 41
Hình 4.36. Loader th c hi n lây lan Malware.ự ệ 41
Hình 4.37. Attacker telnet t i CNC.ớ 42
Hình 4.38. Attacker đăng nh p CNC.ậ 43
Hình 4.39 Ki m tra k t n i t i c ng 23 là Bot hay Adminể ế ố ớ ổ (cnc/main.go) 44
Hình 4.40. Loader hi n th Bot k t n i thành công.ể ị ế ố 45
Hình 4.41. Thông tin Bot scan thi t b khác.ế ị 46
Hình 4.42. Thông tin thi t b mà Bot bruteforce thành công.ế ị 47
Hình 4.43. Nh p l nh t n công.ậ ệ ấ 47
Hình 4.44. L nh hacker dùng t n công.ệ ấ 48 Hình 4.45. Thi t b IoT là IP Camera b chi m quy n ki m soát.ế ị ị ế ề ể 50 Hình 4.46. Victim b Attacker t n công khi n l u lị ấ ế ư ượng tăng cao 50
Trang 8DANH M C B NGỤ Ả
B ng 1. Thành ph n th c nghi m.ả ầ ự ệ 37
Trang 9L I NÓI Đ UỜ Ầ
Internet of Things là c m t nh m đ ch các đ i tụ ừ ằ ể ỉ ố ượng có th để ược nh nậ
bi t cũng nh s t n t i c a chúng và đế ư ự ồ ạ ủ ược Kenvin Ashton đ a ra năm 1999. Choư
đ n nay, m ng lế ạ ướ ại v n v t k t n i Internet là m t k ch b n c a th gi i hi nậ ế ố ộ ị ả ủ ế ớ ệ
đ i khi mà m i đ v t, con ngạ ỗ ồ ậ ườ ượi đ c cung c p m t đ nh danh riêng và t t cấ ộ ị ấ ả
đ u có kh năng truy n t i, trao đ i thông tin qua m ng mà không c n tề ả ề ả ổ ạ ầ ương tác
tr c ti p gi a ngự ế ữ ườ ới v i người hay ngườ ới v i máy tính. Tóm l i, IoT là m t t pạ ộ ậ
h p các thi t b có kh năng k t n i v i nhau, v i Internet và v i th gi i bênợ ế ị ả ế ố ớ ớ ớ ế ớ ngoài đ th c hi n m t công vi c nào đó.ể ự ệ ộ ệ
Trong b i c nh IoT bùng n nh là m t xu hố ả ổ ư ộ ướng m i trong tớ ương lai đi kèm v i nh ng ti n ích thì cũng ti m n nh ng m i nguy h i và tr thành m cớ ữ ệ ề ẩ ữ ố ạ ở ụ tiêu hàng đ u c a gi i Hacker hi n đ i. IoT có th gây nh hầ ủ ớ ệ ạ ể ả ưởng x u n u cácấ ế thi t b b o m t kém có th b nhi m mã đ c và tr thành m t zombie trongế ị ả ậ ể ị ễ ộ ở ộ
m ng botnet. Khi hacker đi u khi n m t lạ ề ể ộ ượng l n thi t b IoT s d dàng t nớ ế ị ẽ ễ ấ công DDoS đánh s p b t c th gì trên Internet v i lậ ấ ứ ứ ớ ượng d li u kh ng l ữ ệ ổ ồ
Cu i năm 2016, mã ngu n Mirai đã đố ồ ược công b gây ra nh hố ả ướng l nớ kèm theo vô vàn m i lo và cũng là l i c nh báo v i các s n ph m IoT trong tố ờ ả ớ ả ẩ ươ nglai. Vì v y đ tài đậ ề ược ch n khi th c hi n đ án t t nghi p này là "Nghiên c uọ ự ệ ồ ố ệ ứ
t n công DDoS v i botnet Mirai trên các thi t b Internet of Things (IoT)".ấ ớ ế ị
Đ án đồ ược th c hi n nh m m c đích nghiên c u cách th c ho t đ ng vàự ệ ằ ụ ứ ứ ạ ộ
m i nguy hi m c a mã ngu n botnet Mirai trên thi t b IoT đ t đó đ a ra cácố ể ủ ồ ế ị ể ừ ư
gi i pháp phòng ch ng.ả ố
M c tiêu đ t ra khi th c hi n đ án là:ụ ặ ự ệ ồ
1 Xây d ng h th ng botnet.ự ệ ố
2 Nghiên c u cách th c ho t đ ng c a h th ng botnet.ứ ứ ạ ộ ủ ệ ố
3 Tìm hi u m t s k thu t coding thú v trong mã ngu n.ể ộ ố ỹ ậ ị ồ
4 Lây nhi m mã đ c lên thi t b th t và th c nghi m t n công DDoS. ễ ộ ế ị ậ ự ệ ấ
5 Nghiên c u phát tri n nh ng h n ch c a mã ngu n.ứ ể ữ ạ ế ủ ồ
Sau th i gian kho ng b n tháng th c hi n đ án, các m c tiêu v c b n đãờ ả ố ự ệ ồ ụ ề ơ ả
đ t đạ ược. Tuy nhiên t n công DDoS IoT là lĩnh v c khoa h c ph c t p, th i gianấ ự ọ ứ ạ ờ
th c hi n đ án tự ệ ồ ương đ i ng n nên ch c ch n không tránh kh i thi u sót. R tố ắ ắ ắ ỏ ế ấ
Trang 10mong được s góp ý c a các th y cô, cũng nh các b n h c viên đ đ án nàyự ủ ầ ư ạ ọ ể ồ
được hoàn thi n h n.ệ ơ
Trang 11CHƯƠNG 1. T NG QUAN V INTERNET OF THINGSỔ Ề
1.1 L ch s hình thành và phát tri n Internetị ử ể
Internet được sinh ra nh m t m ng đư ộ ạ ược phát tri n cho m c đích quân s ể ụ ự
M ng có tên ARPANET đã đạ ược phát tri n đ th nghi m và nghiên c u b i cể ể ử ệ ứ ở ơ quan d án nghiên c u nâng cao c a B qu c phòng M (DARPA) vào năm 1969ự ứ ủ ộ ố ỹ chính là ngu n g c sinh ra Internet. Vào th i đó, h th ng máy tính ch y u là hồ ố ờ ệ ố ủ ế ệ
th ng máy ch trung tâm và b coi là r t mong manh đ i v i các cu c t n công tênố ủ ị ấ ố ớ ộ ấ
l a, vì ch m t cu c t n công có th phá h y m i thông tin. Do v y, ARPANETử ỉ ộ ộ ấ ể ủ ọ ậ
đã được xây d ng thành m t d án nghiên c u đ phân b thông tin trên h th ngự ộ ự ứ ể ổ ệ ố máy tính
Ban đ u, v i t c đ truy n th p 56 kbps và h th ng đã đầ ớ ố ộ ề ấ ệ ố ượ ạc t o nên b iở các vi n nghiên c u và các trệ ứ ường đ i h c M đạ ọ ở ỹ ược k t n i b ng m ng gói.ế ố ằ ạ Sau đó s phát tri n c a công ngh đã t o kh năng làm cho ARPANET đóng vaiự ể ủ ệ ạ ả trò trung tâm nh m t m ng truy n thông trong g n 20 năm sau.ư ộ ạ ề ầ
Giao th c truy n thông TCP/IP là m t trong các công ngh n n t ng màứ ề ộ ệ ề ả không th b qua khi b n nói v s phát tri n Internet. B i DARPA đã s d ngể ỏ ạ ề ự ể ở ử ụ TCP/IP nh là giao th c chu n cho ARPANET, t đó TCP/IP đư ứ ẩ ừ ược phát tri nể thành giao th c chu n trên Internet. R t nhi u đ u t nghiên c u và phát tri nứ ẩ ấ ề ầ ư ứ ể trong công ngh m ng LAN đã đệ ạ ược th c hi n vào gi a nh ng năm 1970 đã đóngự ệ ữ ữ góp r t nhi u vào s phát tri n Internet.ấ ề ự ể
Vào năm 1983, m t ph n c a m ng ARPANET ph c v ch y u cho m cộ ầ ủ ạ ụ ụ ủ ế ụ đích quân s đã đự ượ ắ ỏc c t b (ph n này có tên là MILNET (MILitary NETwork) vàầ
ph n còn l i c a m ng đầ ạ ủ ạ ược chuy n thành m ng ph c v cho khoa h c vàể ạ ụ ụ ọ nghiên c u. TCP/IP đã đứ ược ch p nh n là giao th c truy n thông vào th i đi mấ ậ ứ ề ờ ể đó
Quĩ khoa h c qu c gia Hoa K (NSF) đã xây d ng và v n hành h th ngọ ố ỳ ự ậ ệ ố
m ng đ c l p c a mình có tên là NSFNET vào năm 1986.ạ ộ ậ ủ
Sau đó, NSFNET và ARPANET đã được liên n i đ hình thành nên b nố ể ả
m u Internet đ u tiên c a th gi i (NSFNET đã h p thu ARPANET vào nămẫ ầ ủ ế ớ ấ 1990)
M t y u t không th thi u trong s phát tri n c a Internet đó là thi t l pộ ế ố ể ế ự ể ủ ế ậ
c s h t ng truy n thông tin. M t trong nh ng ngơ ở ạ ầ ề ộ ữ ười đ u tiên nh n ra t mầ ậ ầ
Trang 12quan tr ng c a vi c xây d ng c s h t ng truy n thông này chính là phó t ngọ ủ ệ ự ơ ở ạ ầ ề ổ
th ng M khi đó, ông Al Gore, ngố ỹ ười đã đ a ra k ho ch NII (k t c u n n thôngư ế ạ ế ấ ề tin qu c gia) vào năm 1993. K ho ch này t p trung vào vi c nghiên c u và phátố ế ạ ậ ệ ứ tri n m t m ng siêu nhanh (c p đ Gbps) và vi c toàn c u hoá nó đã làm l y còể ộ ạ ấ ộ ệ ầ ẩ
vi c xây d ng k t c u n n truy n thông tin.ệ ự ế ấ ề ề
Đ n nay, các máy tính cá nhân cũng đã đế ược h tr giao th c TCP/IP, cóỗ ợ ứ năng l c x lý cao h n và ít đ t h n, đã d n t i th c tr ng là công chúng có thự ử ơ ắ ơ ẫ ớ ự ạ ể
d dàng k t n i Internet b ng cách s d ng máy tính cá nhân bình thễ ế ố ằ ử ụ ường. Đi uề này đã khi n cho vi c s d ng Internet tr nên r t ph bi n trong công chúng.ế ệ ử ụ ở ấ ổ ế1.2 Gi i thi t v Internet of Thingsớ ệ ề
1.2.1 Xu h ướ ng phát tri n ể
V i s phát tri n c a Internet, smartphone và đ c bi t là các thi t b c mớ ự ể ủ ặ ệ ế ị ả
bi n, Internet of Things đang tr thành xu hế ở ướng m i c a th gi i. Internet ofớ ủ ế ớ Things được đ nh nghĩa là nh ng v t d ng có kh năng k t n i Internet. Ý tị ữ ậ ụ ả ế ố ưở ngnhà thông minh nh vào nhà, m khóa c a, đèn s t đ ng sáng ch đ ng, đi uư ở ử ẽ ự ộ ỗ ứ ề hòa s t đ ng đi u ch nh nhi t đ , nh c s t đ ng b t đ chào đón…nh ngẽ ự ộ ề ỉ ệ ộ ạ ẽ ự ộ ậ ể ữ
đi u ch có trong phim khoa h c vi n tề ỉ ọ ễ ưởng, đang d n tr thành hi n th c v iầ ở ệ ự ớ công ngh Internet of Things.ệ
Hình 1.1. Xu h ướ ng phát tri n IoT ể
Trang 13Ý tưởng v an toàn giao thông đề ược th c hi n hóa b ng gi i pháp m ngự ệ ằ ả ạ
c m bi n phả ế ương ti n. M ng c m bi n phệ ạ ả ế ương ti n đệ ượ ạc t o nên b ng nhi uằ ề
phương ti n có tính năng giao ti p V2V đ giúp truy n ho c nh n thông tin đệ ế ể ề ặ ậ ể các phương ti n khác có th nh n bi t và d đoán các tình hu ng ch a ho c đãệ ể ậ ế ự ố ư ặ
x y ra. Sau đó, b ng trí tu nhân t o mà phả ằ ệ ạ ương ti n có th t đi u khi n ho cệ ể ự ề ể ặ
c nh báo cho ngả ười dùng
Các thi t b Internet of Things đế ị ược v n hành nh nh ng b vi x lý SOCậ ờ ữ ộ ử bên trong. Không nh nh ng b vi x lý thông thư ữ ộ ử ường, SOC gi ng nh m t máyố ư ộ tính tr n v n đọ ẹ ược thu g n trong di n tích c a m t con chip đi n t , có k t n iọ ệ ủ ộ ệ ử ế ố không dây và đ m b o ti t ki m đi n. Dù nh g n, s c m nh c a các vi x lýả ả ế ệ ệ ỏ ọ ứ ạ ủ ử SOC là không ph i bàn cãi khi nó hoàn toàn có th v n hành tr n tru nh ng hả ể ậ ơ ữ ệ
đi u hành n ng n nh Windows hay Linux. SOC r t ph bi n trong bên trongề ặ ề ư ấ ổ ế các linh ki n đi n tho i.ệ ệ ạ
Theo d báo c a IDC, th trự ủ ị ường Internet of Things được d báo s tăngự ẽ
g p 3 l n, đ t 1,7 nghìn t USD vào năm 2020. Không ít các doanh nghi p l n đãấ ầ ạ ỉ ệ ớ nhìn th y ti m năng c a Internet of Things và m nh d n đ u t vào đây.Tuyấ ề ủ ạ ạ ầ ư nhiên, cũng gi ng nh b t k m t công ngh m i nào, Internet of Things s c nố ư ấ ỳ ộ ệ ớ ẽ ầ
m t n n t ng đ v n hành.Và các doanh nghi p công ngh hi u r ng, ai t o raộ ề ả ể ậ ệ ệ ể ằ ạ
được n n t ng d n đ u, h s là ngề ả ẫ ầ ọ ẽ ười chi n th ng trong xu hế ắ ướng m i này.ớ
1.2.2 ng d ng th c ti n Ứ ụ ự ễ
Nh Internet of Things, có nhi u ý tờ ề ưởng đ c đáo đã tr thành hi n th c.ộ ở ệ ự Không ch phát huy t t h n cho công d ng v n có c a thi t b , Internet of Thingsỉ ố ơ ụ ố ủ ế ị còn góp ph n đem l i cu c s ng t t đ p h n cho con ngầ ạ ộ ố ố ẹ ơ ười. Có th k đ n nhể ể ế ư Boogio đôi giày thông minh có l p m t c m bi n c c m ng và máy tính Artikắ ộ ả ế ự ỏ siêu nh đ l u tr l i d li u c a ngỏ ể ư ữ ạ ữ ệ ủ ười dùng và k t n i v i v i smartphone vàế ố ớ ớ
đ ng h thông minh. Thông qua đôi giày này, ngồ ồ ười dùng có th tính toán để ượ chôm nay mình đã ch y bao nhiêu bạ ước, luy n nh ng bài t p nào, đ t cháy baoệ ữ ậ ố nhiêu calo, đo ch s s c kh e c a b n thân và có đỉ ố ứ ỏ ủ ả ược m t c th d o dai h n.ộ ơ ể ẻ ơ
M t s n ph m khác c a Internet of Things xu t phát t ý tộ ả ẩ ủ ấ ừ ưởng ti t ki mế ệ
nước có tên là Weenat. Weenat s s d ng các c m bi n v đ m, k t h p v iẽ ử ụ ả ế ề ộ ẩ ế ợ ớ
h th ng các máy tính siêu nh đ tính toán đ m và các quy t đ nh canh tác phùệ ố ỏ ể ộ ẩ ế ị
h p. H th ng c m bi n ho t đ ng không dây, đợ ệ ố ả ế ạ ộ ược đ t tr c ti p trên các cánhặ ự ế
Trang 14đ ng và có vòng đ i r t dài, s giúp nh ng ngồ ờ ấ ẽ ữ ười nông dân ti t ki m t i đaế ệ ố ngu n nồ ước dùng cho tưới tiêu.
V i vi c t o ra ngày càng nhi u nh ng thi t b Internet of Things thôngớ ệ ạ ề ữ ế ị minh, các hãng công ngh l n đang góp ph n giúp cu c s ng ngệ ớ ầ ộ ố ười dùng tr nênở
t t đ p h n. Bên c nh đó, nh ng n l c không ng ng c a h trong vi c đ u tố ẹ ơ ạ ữ ỗ ự ừ ủ ọ ệ ầ ư cho cu c cách m ng Internet of Things còn h a h n s đem đ n cho con ngộ ạ ứ ẹ ẽ ế ườ i
m t tộ ương lai tươi sáng h n n a.ơ ữ
1.2.3 Nh ng m i nguy hi m ti m n ữ ố ể ề ẩ
Các thi t b k t n i v i Internet nh ng ch đế ị ế ố ớ ư ỉ ược b o v b ng m tả ệ ằ ậ
kh u mã hóa c ng (hardcoded password) ho c m t kh u y u.ẩ ứ ặ ậ ẩ ế
L h ng b o m t Zeroday trong các s n ph m thông minh hi n nayỗ ổ ả ậ ả ẩ ệ
r t nhi u, m ra m t c h i khác cho tin t c, botnet và các d ng t iấ ề ở ộ ơ ộ ặ ạ ộ
ph m m ng theo đó n y n ạ ạ ả ởCác CVE c a thi t b IoT nh router, hi n cũng đủ ế ị ư ệ ược public gây ra
nh ng lo l ng không ch v doanh nghi p mà còn v uy tín c a cữ ắ ỉ ề ệ ề ủ ả nhà cung c p d ch v ấ ị ụ
L p trình IoT trên linux n u không hi u rõ nh ng th vi n t i v sậ ế ể ữ ư ệ ả ề ử
d ng đ code cũng là 1 v n đ nguy hi m khi l p trình IoT. ụ ể ấ ề ể ậ
B o m t cho các thi t b IoT là r t khó khăn vì nh ng lý do v kả ậ ế ị ấ ữ ề ỹ thu t, công ngh và th m chí c n n văn hóa. Đ i v i ngậ ệ ậ ả ề ố ớ ười dùng thông thường, đã là r t khó đ khi n h c p nh t nh ng b n vá m iấ ể ế ọ ậ ậ ữ ả ớ
nh t trên máy tính xách tay, đi n tho i thông minh. Ngày nay, thi t bấ ệ ạ ế ị nào cũng có th có nh ng l h ng b o m t, khi nhà s n xu t mu nể ữ ỗ ổ ả ậ ả ấ ố nâng c p firmware hay cài b n vá cho nh ng thi t b này s r t phi nấ ả ữ ế ị ẽ ấ ề
ph c.ứThay vì t n công máy tính xách tay và cài mã đ c thì hacker l i t nấ ộ ạ ậ
d ng các thi t b IoT, nh camera giám sát CCTV, đ u ghi DVR,ụ ế ị ư ầ smartTV hay các h th ng t đ ng trong nhà. Không nh máy tínhệ ố ự ộ ư bàn hay xách tay, r t khó phát hi n botnet có trong thi t b IoT.ấ ệ ế ị
Trang 15Khi m t thi t b nhi m mã đ c s tr thành bàn đ p đ phát tán mãộ ế ị ễ ộ ẽ ở ạ ể
đ c đ n các thi t b khác hình thành nên m t m ng botnet kh ng lộ ế ế ị ộ ạ ổ ồ
được m r ng nhanh chóng.ở ộ
Trang 16CHƯƠNG 2. T NG QUAN V T N CÔNG T CH I D CH VỔ Ề Ấ Ừ Ố Ị Ụ
DDOS
2.1 T ng quan v an ninh m ngổ ề ạ
Máy tính có ph n c ng ch a d li u do h đi u hành qu n lý, đa s cácầ ứ ứ ữ ệ ệ ề ả ố máy tính nh t là các máy tính trong công ty, doanh nghi p đấ ệ ược n i m ng LAN vàố ạ Internet. N u nh máy tính, h th ng m ng không đế ư ệ ố ạ ược trang b h th ng b o vị ệ ố ả ệ
s là m c tiêu c a Virus, Worms, Unauthorized User…có th b t n công vào máyẽ ụ ủ ể ị ấ tính ho c c h th ng b t c lúc nào.ặ ả ệ ố ấ ứ
V y an toàn m ng có nghĩa là b o v h th ng m ng, máy tính kh i s pháậ ạ ả ệ ệ ố ạ ỏ ự
ho i ph n c ng hay ch nh s a d li u (ph n m m) mà không đạ ầ ứ ỉ ử ữ ệ ầ ề ượ ực s cho phép
t nh ng ngừ ữ ườ ối c ý hay vô tình. An toàn m ng cung c p gi i pháp, chính sách,ạ ấ ả
b o v máy tính, h th ng m ng đ làm cho nh ng ngả ệ ệ ố ạ ể ữ ười dùng trái phép, cũng
nh các ph n m m ch a mã đ c xâm nh p b t h p pháp vào máy tính, h th ngư ầ ề ứ ộ ậ ấ ợ ệ ố
m ng.ạ
2.2 T ng quan v t n công t ch i d ch vổ ề ấ ừ ố ị ụ
2.2.1 Gi i thi u v t n công t ch i d ch v ớ ệ ề ấ ừ ố ị ụ
T n công t ch i d ch v là s c g ng làm cho tài nguyên c a m t máyấ ừ ố ị ụ ự ố ắ ủ ộ tính không th s d ng để ử ụ ược nh m vào nh ng ngằ ữ ười dùng c a nó. M c dùủ ặ
phương ti n đ ti n hành, đ ng c , m c tiêu c a t n công t ch i d ch v làệ ể ế ộ ơ ụ ủ ấ ừ ố ị ụ khác nhau, nh ng nói chung nó g m có s ph i h p, s c g ng ác ý c a m tư ồ ự ố ợ ự ố ắ ủ ộ
người hay nhi u ngề ườ ểi đ ch ng l i Internet site ho c service (d ch v Web) v nố ạ ặ ị ụ ậ hành hi u qu ho c trong t t c , t m th i hay m t cách không xác đ nh. ệ ả ặ ấ ả ạ ờ ộ ị
T n công b ng t ch i d ch v DoS (Denial of Service) có th mô t nhấ ằ ừ ố ị ụ ể ả ư hành đ ng ngăn c n nh ng ngộ ả ữ ười dùng h p pháp kh năng truy c p và s d ngợ ả ậ ử ụ vào m t d ch v nào đó. Nó bao g m vi c làm tràn ng p m ng, m t k t n i v iộ ị ụ ồ ệ ậ ạ ấ ế ố ớ
d ch v … mà m c đích cu i cùng là máy ch (Server) không th đáp ng đị ụ ụ ố ủ ể ứ ượ ccác yêu c u s d ng d ch v t các máy tr m (Client). DoS có th làm ng ngầ ử ụ ị ụ ừ ạ ể ư
ho t đ ng c a m t máy tính, m t m ng n i b ho c c m t h th ng m ng r tạ ộ ủ ộ ộ ạ ộ ộ ặ ả ộ ệ ố ạ ấ
l n.V b n ch t th c s c a DoS, k t n công s chi m d ng m t lớ ề ả ấ ự ự ủ ẻ ấ ẽ ế ụ ộ ượng l n tàiớ nguyên m ng nh băng thông, b nh … và làm m t kh năng x lý các yêu c uạ ư ộ ớ ấ ả ử ầ
d ch v t các client khác.ị ụ ừ
Trang 17a) Gi i thi u v Botnetớ ệ ề
Môt “bot” la môt loai phân mêm đôc hai cho phep ke tân công gianh quyêṇ ̀ ̣ ̣ ̀ ̀ ̣ ̣ ́ ̉ ́ ̀ ̀ kiêm soat hoan toan may tinh bi anh h̉ ́ ̀ ̀ ́ ́ ̣ ̉ ưởng. May tinh đang bi nhiên môt “bot”́ ́ ̣ ̃ ̣
thương đ̀ ược goi la zombie. Trên th c tê co hang ngan may tính trên Internet bị ̀ ự ́ ́ ̀ ̀ ́ ̣ nhiêm môt sô loai “bot” ma thâm chi không nhân ra no. ̃ ̣ ́ ̣ ̀ ̣ ́ ̣ ́
May chu Bot kiêm soat va điêu khiên môt botnet đ́ ̉ ̉ ́ ̀ ̀ ̉ ̣ ược goi lạ ̀ botmaster
Bot la môt ch̀ ̣ ương trinh client cho phep Botmaster ra lênh va kiêm̀ ́ ̣ ̀ ̉ soat may tinh bi nhiêm. ́ ́ ̣ ̃
Botnet la môt mang l̀ ̣ ̣ ươi cac may tinh b xâm nhâp, lây nhi m b i bot.́ ́ ́ ́ ị ̣ ễ ở
b) Nguyên lý ho t đ ng Botnetạ ộ
Môt botnet bao gôm it nhât la môt botmaster va môt hoăc nhiêu bot. Khạ ̀ ́ ́ ̀ ̣ ̀ ̣ ̣ ̀ ̉ năng cua cac botnet hanh đông môt cach phôi h p v i tât ca hoăc môt phân cuả ́ ̀ ̣ ̣ ́ ́ ợ ớ ́ ̉ ̣ ̣ ̀ ̉ botnet la nên tang cho khai niêm botnet. Botnet đ̀ ̀ ̉ ́ ̣ ược quan ly b i môt botherder.̉ ́ ở ̣
Kh i nguôn cua Botnet đở ̀ ̉ ược goi la Botnetherder. Botnetherder la ng̣ ̀ ̀ ươi đà ̃ tao ra mang ḷ ̣ ươi cac bot đ́ ́ ượ ửc s dung cho muc đich đôc hai nh tâmn công môṭ ̣ ́ ̣ ̣ ư ́ ̣
t ch c nao đo băng cach s dung tân công DDoS hoăc kiêm tiên băng cach sử ứ ̀ ́ ̀ ́ ử ̣ ́ ̣ ̉ ̀ ̀ ́ ử dung th rac.̣ ư ́
Môt Botherder co thê s d ng công c IRC, CMD k t n i t i C&C Server.̣ ́ ̉ ử ụ ụ ế ố ớ Server này s nh m t proxy g i l nh đi u khi n c a hacker t i m ng botnet.ẽ ư ộ ử ệ ề ể ủ ớ ạ Viêc khai thac botnet cân co kinh nghiêp lâp trinh giao th c ra lênh ngay t khi băṭ ́ ̀ ́ ̣ ̣ ̀ ứ ̣ ừ ́ đâu. ̀
S gia tăng cua băng thông tiêu dung đa tăng lên rât nhiêu s c manh cuaự ̉ ̀ ̃ ́ ̀ ứ ̣ ̉ botnet đê kh i đông g n song tân công DDoS lên server, lây nhiêm hang triêu v ỉ ở ̣ ợ ́ ́ ̃ ̀ ̣ ơ ́hang triêu may tinh v i cac phân mêm gian điêp va ma đôc hai khac, ăn căp d liêù ̣ ́ ́ ớ ́ ̀ ̀ ́ ̣ ̀ ̃ ̣ ̣ ́ ́ ữ ̣ nhân dang, g i sô ḷ ̣ ử ́ ượng l n cac th rac va tham gia vao cac click gian lân, hămớ ́ ư ́ ̀ ̀ ́ ̣ doa va tông tiên.̣ ̀ ́ ̀
Botnet la môi đe doa an ninh hang đâu internet ngay nay. Hacker đang thu hut̀ ́ ̣ ̀ ̀ ̀ ́
b i botnet do client (bot) th c hiên đăt hang tai bât c n i nao co kêt nôi. No rât deở ự ̣ ̣ ̀ ̣ ́ ư ớ ̀ ́ ́ ́ ́ ́ ̃ dang đê ăn hoa hông dich vu tân công botnet va hacker la ng̀ ̉ ̀ ̣ ̣ ́ ̀ ̀ ươi co thê khai thac lồ ́ ̉ ́ ̃ hông m i môt cach nhanh h n. Botnet rât kho phat hiên b i bi chung rât năng đông,̉ ớ ̣ ́ ơ ́ ́ ́ ̣ ở ̣ ́ ́ ̣ thich ng nhanh đê trôn tranh viêc bao vê an ninh phô biêt hiên nay.́ ứ ̉ ́ ́ ̣ ̉ ̣ ̉ ́ ̣
Trang 18Cac san phâm bao mât va quan tri hê thông thông tin phai ngăn chăn cać ̉ ̉ ̉ ̣ ̀ ̉ ̣ ̣ ́ ̉ ̣ ́ mang tr thanh môt phân cua botnet. Ca mang doanh nghiêp lân mang t nhân câṇ ở ̀ ̣ ̀ ̉ ̉ ̣ ̣ ̃ ̣ ư ̀
được ngăn chăn khoi bi tân công botnet đê ngăn chăn viêc lam dung nguôn taí ̣ ̉ ̣ ́ ̉ ̣ ̣ ̣ ̣ ̀ ̀ nguyên c s ha tâng l n.ơ ở ̣ ̀ ớ
2.2.2 Mô hình t n công t ch i d ch v ấ ừ ố ị ụ
2.2.3 Xu h ướ ng t n công t ch i d ch v c a t i ph m m ng ấ ừ ố ị ụ ủ ộ ạ ạ
Trang 19CHƯƠNG 3. NGHIÊN C U V MÃ NGU N BOTNET MIRAIỨ Ề Ồ
3.1 Gi i thi u v Botnet Miraiớ ệ ề
Đây là lo i botnet không đạ ược xây d ng đ đi u khi n các máy tính màự ể ề ể
hướng đ n các thi t b IoT (Internet of Things).ế ế ị
Mirai th c hi n rà quét d i m ng IPv4 nh m tìm ki m các thi t b IoT. Đự ệ ả ạ ằ ế ế ị ể
t i u hóa hi u năng rà quét c a mình thì Mirai th c hi n lo i b các d i IP nhố ư ệ ủ ự ệ ạ ỏ ả ư sau:
Sau khi tìm được các thi t b IoT, Mirai th c hi n truy c p telnet tr c ti pế ị ự ệ ậ ự ế
ho c n u không đặ ế ược s th c hi n bruteforce m t kh u qua telnet ho c ssh.ẽ ự ệ ậ ẩ ặ Trong mã ngu n c a Mirai cho th y Mirai có s d ng 60 tài kho n, m t kh uồ ủ ấ ử ụ ả ậ ẩ
m c đ nh đ th c hi n t n công nh root:root, admin:admin1234, guest:guest…ặ ị ể ự ệ ấ ư
M c dù có th truy c p thành công đặ ể ậ ược thi t b nh ng mã đ c này l i sế ị ư ộ ạ ử
d ng m t l nh đ c bi t c a Busybox (ti n ích trên các thi t b Linux nhúng) doụ ộ ệ ặ ệ ủ ệ ế ị
đó bot s không th c hi n lây nhi m đẽ ự ệ ễ ược n u thi t b không đế ế ị ược cài đ tặ busybox
Môt khi s d ng đử ụ ược busybox, mã đ c s th c hi n quá trình lây nhi m.ộ ẽ ự ệ ễ
Đ c bi t sau khi lây nhi m thành công, Mirai th c hi n lo i b t t c các ti nặ ệ ễ ự ệ ạ ỏ ấ ả ế trình đang s d ng c ng 22, 23 đ ngăn ch n đăng nh p trên thi t b Sau khi th cử ụ ổ ể ặ ậ ế ị ự
hi n lây nhi m thành công, mã đ c k t n i t i máy ch đi u khi n và ch l nhệ ễ ộ ế ố ớ ủ ề ể ờ ệ
t n côngấ
V i m c đích chính là th c hi n t n công t ch i d ch v do đó botnet nàyớ ụ ự ệ ấ ừ ố ị ụ
s d ng t i 10 k thu t t n công t ch i d ch v t c b n đ n nâng cao nh mử ụ ớ ỹ ậ ấ ừ ố ị ụ ừ ơ ả ế ằ đem l i hi u qu cao nh t. Trong đó, hình th c t n công t ch i d ch v phạ ệ ả ấ ứ ấ ừ ố ị ụ ổ
bi n đế ược áp d ng là thông qua t n công HTTP, Mirai s d ng 5 useragent khácụ ấ ử ụ nhau đ tránh b phát hi n. ể ị ệ
Trang 20Hình 3.2. Mirai s d ng 5 useragent khác nhau (mirai/bot/table.h) ử ụ
Ngoài ra, Mirai có kh năng phát hi n và vả ệ ượt qua m t s c ch ki m traộ ố ơ ế ể bot c b n c a các d ch v giúp ngăn ng a t n công t ch i d ch v nhơ ả ủ ị ụ ừ ấ ừ ố ị ụ ư cloudflare ho c dosarrest.ặ
Ngoài nh ng t n công thông d ng ra, Mirai s d ng 2 k thu t ít g p g nữ ấ ụ ử ụ ỹ ậ ặ ầ đây là t n công “DNS Water Torture” và “GRE IP Flood”.ấ
Hình 3.3. Mirai s d ng 10 k thu t t n công t ch i d ch v (mirai/bot/attack.h) ử ụ ỹ ậ ấ ừ ố ị ụ 3.1.1 Thành ph n c u trúc c a Botnet Mirai ầ ấ ủ
Các thành ph n:ầ
A: Attacker có toàn quy n ra l nh đ i v i m ng botnetề ệ ố ớ ạ
B: Nh ng thi t b sau khi b nhi m mã đ c.ữ ế ị ị ễ ộ
C: CNC server gi liên l c gi a ngữ ạ ữ ười dùng và m ng botnet.ạ
R: Report server ti p nh n và lây lan bot v các thi t b IoT m i.ế ậ ề ế ị ớ
L: Loader server l y thông tin t Report server và lây nhi m malware.ấ ừ ễ
Trang 21 U: Nh ng khách hàng thuê m ng botnet đ DDoS Victim.ữ ạ ể
V: Nh ng thi t b IoT có l h ng.ữ ế ị ỗ ổ
Hình 3.4. Mô hình ho t đ ng logic c a các thành ph n ạ ộ ủ ầ
C u trúc mã ngu n chính g m 2 th m c chính Loader và Mirai, trong đóấ ồ ồ ư ụ Loader ch a các mã ngu n ph c v cho vi c t o Report server, th m c Miraiứ ồ ụ ụ ệ ạ ư ụ
ch a mã ngu n t o các con Bot và t o CNC server.ứ ồ ạ ạ
Hình 3.5. C u trúc th m c mã ngu n ấ ư ụ ồ 3.1.2 Cách th c đi u khi n và lây lan Bots: ứ ề ể
Trang 22Bước 3: S d ng l nh attack.ử ụ ệLây lan mã đ c:ộ
Bước 1: Các con Bot trong m ng Botnet s th c thi n rà quét cácạ ẽ ự ệ thi t b IoT m i và th c hi n brute force vào các thi t b n u khôngế ị ớ ự ệ ế ị ế telnet tr c ti p đự ế ược
Bước 2: Sau khi brute force thành công thi t b IoT, Bot g i các thôngế ị ử tin g m IP, Port, Username, Password v Report server.ồ ề
Bước 3: L y thông tin t Report server c p cho Loader server đ th cấ ừ ấ ể ự
hi n đăng nh p t i thi t b IoT và load mã đ c lây nhi m thi t b ệ ậ ớ ế ị ộ ễ ế ị
Bước 4: Thi t b IoT b lây nhi m s th c hi n m t s ch c năngế ị ị ễ ẽ ự ệ ộ ố ứ chính được cài đ t trặ ước nh scan, bruteforce và th c hi n k t n iư ự ệ ế ố
t i CNC server.ớ3.2 Phân tích các thành ph n c a Botnet Miraiầ ủ
Trang 23Hình 3.6. CNC l ng nghe k t n i (mirai/cnc/main.go) ắ ế ố
Khi nghe c ng 23 chở ổ ương trình s làm nhi m v khác nhau tùy vào dẽ ệ ụ ữ
li u nh n đệ ậ ược. N u các d li u nh n đế ữ ệ ậ ược có 4 bytes, mà là “00 00 00 x” (byte x> 0), chương trình xác đ nh r ng d li u này là t m t Bot m i. Ngị ằ ữ ệ ừ ộ ớ ượ ạ c l i
chương trình hi u là có k t n i t Attacker qua telnet, Attacker th c hi n đăngể ế ố ừ ự ệ
nh p n u là có quy n qu n tr thì h có th t o các username khác v i s lậ ế ề ả ị ọ ể ạ ớ ố ượ ngBot c th đụ ể ược phép s d ng.ử ụ
Trang 25username/password có t n t i hay không? N u không t n t i s hi n thông báo vàồ ạ ế ồ ạ ẽ ệ thoát.
Hàm func() s ki m tra liên t c s lẽ ể ụ ố ượng Bot connect t i CNC theo Real Time.ớ
V i hàm ớ này hacker s bi t đẽ ế ượ ốc s thi t b có th s d ng t n công trong th iế ị ể ử ụ ấ ờ
đi m hi n t i.ể ệ ạ
Hình 3.12. Ki m tra s l ể ố ượ ng Bot connect t i CNC ớ
Trang 26Đo n mã nh m thi t l p s lạ ằ ế ậ ố ượng Bot mà tài kho n có th đả ể ượ ử ục s d ng.
Th tử ưởng tượng v i m t m ng botnet kh ng l có th đánh s p b t c th gìớ ộ ạ ổ ồ ể ậ ấ ứ ứ trên Internet thì hacker hoàn toàn có th cho thuê đ ki m l i nhu n. Nh v y,ể ể ế ợ ậ ư ậ Hacker s t o m t tài kho n và kèm v i s lẽ ạ ộ ả ớ ố ượng Bot mà tài kho n đó đả ượ ử c s
Hàm attackInfoLookup s tr v các tham s ph c v cho t ng lo i t n công,ẽ ả ề ố ụ ụ ừ ạ ấ
C u trúc nh p l nh t n công: <tên phấ ậ ệ ấ ương th c> <IP> <time> [flag].ứ
Trang 27Hình 3.14. Hàm AttackInfoLookup.
3.2.2 Máy ch Loader ủ
a) Ch c năngứ
Trong th m c này ch a mã ngu n đ xây d ng Loader server, máy chư ụ ứ ồ ể ự ủ
th c hi n vi c lây lan bots. Máy ch này s l ng l y thông tin c a hacker nh pự ệ ệ ủ ẽ ắ ấ ủ ậ
th công t STDIN. Sau đó Loader server s th c hi n đăng nh p vào các thi t bủ ừ ẽ ự ệ ậ ế ị IoT và lây nhi m mã đ c. ễ ộ
b) Nguyên lý ho t đ ngạ ộ
Loader server s t o các socket trên các card m ng đ t o các socket k tẽ ạ ạ ể ạ ế
n i đ n các IoT đ ng th i. ố ế ồ ờ
Hình 3.15. Thi t l p network card cho report server (loader/main.c) ế ậ
Trang 28Ti p theo, t o các k t n i s n sàng cho vi c lây lan mã đ c b ng vi c g iế ạ ế ố ẵ ệ ộ ằ ệ ọ hàm server_create (). Nó th c hi n truy n các tham s nh ip server l u trự ệ ề ố ư ư ữ malware có giao th c wget hay tftp. Loader khi đi u khi n thi t b s s d ngứ ề ể ế ị ẽ ử ụ
m t trong 2 giao th c này đ t i malware t TFTP server ho c Wget server v vàộ ứ ể ả ừ ặ ề
ti n hành th c thi malware. ế ự
Hình 3.16. Kh i t o server ch a mã đ c (loader/main.c) ở ạ ứ ộ
Loader server s đ c các d li u đ u vào qua chu n STDIN t bàn phímẽ ọ ữ ệ ầ ẩ ừ theo đ nh d ng “IP:Port Username:Password” s d ng vòng l p while(TRUE) đị ạ ử ụ ặ ể liên t c ki m tra đ u vào t ngụ ể ầ ừ ười dùng. Tuy nhiên, vi c nh p th công b ng tayệ ậ ủ ằ thông tin cho Loader s d n đ n kho ng th i gian phát hi n thi t b và kho ngẽ ẫ ế ả ờ ệ ế ị ả
th i gian lây nhi m mã đ c b delay time gây ra kh năng m t thi t b IoT. Vi cờ ễ ộ ị ả ấ ế ị ệ này đã được kh c ph c nh vi t thêm đo n mã auto chuy n thông tin t Reportắ ụ ờ ế ạ ể ừ server sang Loader server
Hình 3.17. Nh n ip, port, user, pass t STDIN (loader/main.c) ậ ừ
Hàm worker() này th c hi n các bự ệ ước đang nh p và lây lan bot b ng cáchậ ằ truy n các câu l nh qua ti n ích busybox có s n trên các thi t b IoT. Busybox làề ệ ệ ẵ ế ị
Trang 29ti n ích đ giao ti p gi a ngệ ể ế ữ ười qu n tr và thi t b IoT qua dòng l nh CMD (cả ị ế ị ệ ụ
th đây là bashshell).ể ở