PHÂN TÍCH TĨNH DỰA TRÊN ĐỒ THỊ KIỂM SOÁT LUỒNG VỚI KINH NGHIỆM CHUYÊN MÔN ĐỂ PHÁT HIỆN PHẦN MỀM ĐỘC HẠI DI ĐỘNG - Full 10 điểm

11 0 0
PHÂN TÍCH TĨNH DỰA TRÊN ĐỒ THỊ KIỂM SOÁT LUỒNG VỚI KINH NGHIỆM CHUYÊN MÔN ĐỂ PHÁT HIỆN PHẦN MỀM ĐỘC HẠI DI ĐỘNG - Full 10 điểm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nghiên cứu Khoa học và Công nghệ trong lĩnh vự c An toàn thông tin Số 1 CS (05) 2017 41 Ngô Quốc Dũng , Lê Hải Việt, Trần Hoàng Anh , Lê Văn Hoàng, Nguyễn Việt Anh  Tóm tắt — Song hành cùng cu ộ c cách m ạ ng công nghi ệ p l ầ n th ứ 4 là s ự phát tri ể n m ạng lướ i k ế t n ố i các thi ế t b ị IoT Để đả m b ả o s ự thông su ố t trong toàn b ộ quá trình trao đổ i thông tin gi ữ a các thi ế t b ị IoT, thì thi ế t b ị đị nh tuy ến đó ng vai trò then ch ố t Do đó , thi ế t b ị đị nh tuy ến đã và đang trở thành m ụ c tiêu t ấ n công ph ổ bi ế n c ủ a tin t ặc Điề u này d ẫ n t ớ i nguy cơ không chỉ m ấ t an toàn thông tin c ủ a thi ế t b ị IoT nói riêng mà còn là nguy cơ gây mấ t an toàn, an ninh m ạ ng nói chung Trong bài báo này, nhóm tác gi ả đề xu ấ t m ột phương pháp mô phỏng đầy đủ nh ằ m thu th ậ p d ữ li ệ u ho ạt độ ng c ủ a ph ầ n s ụ n (firmware) để phát hi ện mã độ c trong các thi ế t b ị đị nh tuy ế n  Abstract — Nowadays, along with the Fourth Industrial Revolution is the rapid development of IoT devices networks The router, which is used as a core to ensure the stability of the entire interacting process between IoT devices, has became a potential target for hackers This fact leads to the risk of not only IoT devices’ security in particular but also the cyber security in general In this paper, the authors propose a complete emulation method for collecting firmware ’s operation data to detect malware in routers Từ khóa — P hân tích độ ng; M ã độ c; IoT; Thi ế t b ị đị nh tuy ế n; Mô ph ỏ ng Keywords — Dynamic analysis; Malware; IoT; Router; Simulation I GIỚI THIỆU S ự phát triển nhanh chóng về số lƣợng của các thiết bị IoT mang tới khả năng kết nối, trao đổi thông tin của mọi thiết bị với nhau thông qua mạng Internet Trong đó có thiết bị đƣợc sử dụng phổ biến để kết nối nhiều thiết bị IoT với nhau là thiết bị định tuyến (Router) Tuy nhiên, vấn đề bảo mật cho thiết bị định tuyến còn chƣa đƣợc quan tâm đúng mức Trong nghiên cứu của mình, Andrei Costin và cộng sự [1] đã phát hiện trong 32 256 firmware Bài báo đƣợc nhận ngày 25/05/2017 Bài báo đƣợc gửi cho phản biện thứ nhất vào ngày 20/06/2017 và nhận đƣợc ý kiến đồng ý đăng của phản biện thứ nhất vào ngày 27/07/2017 Bài báo đƣợc gửi phản biện thứ hai vào ngày 01/07/2017 nhận đƣợc ý kiến đồng ý đăng của phản biện thứ hai vào ngày 31/07/2017 của các thiết bị mạng đƣợc phâ n tích, có hơn 38 loại lỗ hổng mới chƣa đƣợc phát hiện trƣớc đó Thông qua các lỗ hổng này, tin tặc có thể tấn công làm chủ thiết bị , từ đó làm cơ sở để tấn công vào mạng mà các thiết bị này kết nối đến Johannes Ullrich đã công bố nghiên cứu về mã độc Bashlite, một trong những mã độc lây nhiễm phổ biến trên các thiết bị IoT để xây dựng mạng botnet , nhằm thực hiện tấn công DDoS Với hơn 1 triệu thiết bị IoT bị nhiễm độc, Bashlite có thể phát động cuộc tấn công DDoS lên tới 400 Gbps thông qua các kỹ thuật đơn giản nhƣ UDP hay TCP flood Bashlite đƣợc coi là tiền thân của Mirai - loại mã độc ảnh hƣởng tới nhiều loại thiết bị IoT Mạng lƣới botnet của Mirai đƣợc sử dụng trong cuộc tấn công DDoS đạt tới kỷ lục là 1 , 1 Tbps với 148 000 thiết bị IoT Mục tiêu lây nhiễm chủ yếu của Mirai là các IP của camera, DVR và thiết bị định tuyến sử dụng trong gia đình Để đối phó với các nguy cơ này, các nhà nghiên cứu về mã độc đã và đang phát triển các phƣơng pháp và kỹ thuật phát hiện mới Về cơ bản, các nghiên cứu này có thể chia làm hai nhóm chính là phân tích tĩnh và phân tích động Phân tích tĩnh là phƣơng pháp phân tích, kiểm tra các phần mềm, mã độc trực tiếp trên mã nguồn, mã nhị phân tƣờng minh trong các tập tin mà không cần thực thi chúng Các nghiên cứu sử dụng phƣơng pháp này trên các thiết bị IoT có thể kể đến nhƣ Angr [2] Phân tích tĩnh cho phép chi tiết h óa toàn bộ luồng điều khiển ( Control-Flow G raph) và luồng dữ liệu ( Data-Flow Graph) cho từng tập tin hệ thống trong firmware T ừ đó , phát hiện mã độc bằng kỹ thuật phân tích đặc trƣng nhƣ : mã trung gian (bytecode), header, system- calls API hay Printable-Strings-Information (PSI) [3] Phƣơng pháp phân tích tĩnh cho phép phân tích chi tiết các tập tin và đƣa ra cái nhìn tổng quát về tất cả các khả năng kích hoạt của mã độc [4] Tuy nhiên, phƣơng pháp phân tích tĩnh khó áp dụng đối với các loại mã độc sử dụng các kỹ thuật gây rối phức tạp (obfuscations) nhƣ sắp xếp lại câu lệnh, chèn mã lệnh vô nghĩa [5] Một hạn chế của phƣơng pháp này là công nghệ dịch ngƣợc các bản mã nhị phân thành bản mã bậc cao còn nhiều hạn chế [4] làm cho việc phân tích mất đi tính chính xác 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 Journal of Science and Technology on Information security 42 Số 1 CS (05) 2017 Do đó, t heo Andreas Moser [5] , phƣơng pháp phân tích tĩnh nên đƣợc sử dụng nhƣ một phần bổ sung cho phân tích động Phân tích động là phƣơng pháp giám sát, thu thập và phân tích các hành vi của hệ thống để từ đó phát hiện mã độc [6] Kỹ thuật này dựa trên nguyên lý sử dụng tập luật bình thƣờng để duy trì và xem xét một chƣơng trình có cố ý vi phạm những tập luật đƣợc định trƣớc hay không Một số nghiên cứu phân tích động phát hiện mã độc trên thiết bị IoT có thể kể đến nhƣ Avatar [7], phân tích lỗ hổng bảo mật trên thiết bị định tuyến – Firmadyne [8] Yêu cầu quan trọng nhất đối với phân tích động cho các thiết bị IoT là xây dựng một môi trƣờng mô phỏng đầy đủ các chức năng cần có của thiết bị , có khả năng giám sát các hành vi của firmware khi thực thi và tránh lây nhiễm mã độc sang môi trƣờng thực tế Để giải quyết yêu cầu trên, Jonas Zaddach và cộng sự giới thiệu về Avata r [7], cho phép mô phỏng hoạt động của CPU và tái sử dụng toàn bộ phần cứng của thiết bị định tuyến phục vụ mục đích mô phỏng trên Tuy nhiên, hạn chế của Avatar là khả năng hoạt động thời gian thực , vì việc xử lý và phân tích thông tin giữa môi trƣờng mô phỏng Qemu và thiết bị thật t hông qua kênh UART , Jtag là rất chậm Do đó, việc sử dụng công cụ Avatar phát hiện mã độc theo thời gian thực trên các thiết bị IoT là bất khả thi Mặt khác, Daming Chen và cộng sự đã trình bày về Firmadyne trong nghiên cứu của mình Đây là hệ thống phân tích động với mục tiêu cụ thể là thiết bị định tuyến trong hạ tầng mạng [8] Tuy nhiên, Firmadyne chỉ cho phép mô phỏng phần giao diện web quản trị của các thiết bị định tuyến với đầu vào là Firmware của chúng Điều này phục vụ mục tiêu là quét lỗ hổng bảo mật của các thiết bị định tuyến bằng cách sử dụng các công cụ nhƣ Metaspoit và Nessus, chứ không cho phép phát hiện mã độc Ƣu điểm nổi bật của phƣơng pháp phân tích động là hiệu quả và độ chính xác, cho phép xác định nhanh chóng và tổng quát về mã độc đƣợc phân tích, thông qua các hành vi của chúng So với phƣơng pháp phân tích tĩnh trong việc dịch ngƣợc, gỡ rối (deobfuscation) thì phƣơng pháp động cho phép phân tích dễ dàng ngay cả với những mã độc có cấu trúc, mã nguồn phức tạp Tuy nhiê n, phân tích động chỉ có thể giám sát đơn luồng thực thi Điều này đã đƣợc T Ronghua [4] chứng minh trong công bố của mình rằng : khi các điều kiện môi trƣờng ảnh hƣởng trực tiếp đến việc kích hoạt mã độc nhƣ time - bomb, bot,… thì phƣơng pháp động không thể giám sát hết các hành vi tiềm tàng của mã độc Việc giám sát đƣợc tất cả các khả năng thực thi của mã độc t rong phân tích động đòi hỏi nhiều thời gian với dữ liệu ghi nhận là rất lớn Mặc dù có những hạn chế , nhƣng phân tích động có ƣu điểm nổi bật so với phân tích tĩnh ở khả năng áp dụng trên diện rộng và tránh đƣợc các kỹ thuật làm rối nhƣ đã nêu Do đó, phƣơ ng pháp đề xuất trong bài báo này dựa trên phƣơng pháp phân tích động và bổ khuyết cho Firmadyne bằng cách xây dựng một môi trƣờng mô phỏng đầy đủ , bao gồm cả phần giao diện web quản trị cho việc quét lỗ hổng và phần hoạt động của hệ điều hành thiết bị định tuyến cho việc phân tích mã độc B ài báo đƣợc trình bày theo bố cục sau : Sau Mục Giới thiệu, Mục II giới thiệu tổng quan về cấu trúc của các thiết bị định tuyến và firmware Mục III trình bày quy trình xây dựng môi trƣờng mô phỏng và phân tích Kết quả thực nghiệm cụ thể sẽ đƣợc đƣa ra tr o ng Mục IV và cuối cùng là Mục K ết luận II TỔNG QUAN VỀ CẤU TRÚC CỦA CÁC THIẾT BỊ ĐỊNH TUYẾN VÀ FIRMWARE A Tổng quan cấu trúc thiết bị định tuyến Hình 1 Cấu tạo của thiết bị định tuyến Thiết bị định tuyến là thiết bị mạng 3 lớp của mô hình OSI (Open Systems Interconnection) với c ấu tạo đƣợc thể hiện trong Hình 1, gồm các phần cụ thể nhƣ sau:  CPU: điều khiển mọi hoạt động của bộ định tuyến trên cơ sở các hệ thống chƣơng trình thực thi của hệ điều hành  ROM: chứa các chƣơng trình tự động kiểm tra và có các thành phần cơ bản nhất sao cho bộ định tuyến có thể thực thi đƣợc một số hoạt động tối thiểu ngay cả khi không có hệ điều hành hay hệ điều hành bị hỏng Nghiên cứu Khoa học và Công nghệ trong lĩnh vự c An toàn thông tin Số 1 CS (05) 2017 43  RAM: cấp phát vùng nhớ cho các quá trình nhƣ: lƣu trữ các bảng định tuyến, các vùng đệm, tập tin cấu hình khi chạy, các thông số đảm bảo hoạt động của bộ định tuyến  Flash: là thiết bị nhớ có khả năng ghi và xóa, lƣu dữ liệu khi mất nguồn Thông thƣờng, firmware của bộ định tuyến đƣợc lƣu trữ ở đây Tùy thuộc các thiết bị định tuyến khác nhau mà hệ điều hành sẽ đƣợc chạy trực tiếp từ Flash hay đƣợc tải lên RAM trƣớc khi chạy Tập tin cấu hình cũng c ó thể đƣợc lƣu trữ trong Flash  NVRAM (None-Volatile RAM): có chức năng tƣơng tự nhƣ Flash nhƣng có khả năng lƣu trữ ít hơn NVRAM thƣờng chứa tập tin cấu hình của thiết bị để đảm bảo khi khởi động, cấu hình mặc định của t hiết bị định tuyến sẽ đƣợc tự động nạp về đúng trạng thái đã lƣu giữ B Tổng quan cấu trúc firmware Cấu trúc của firmware rất đa dạng, phụ thuọ c vào chức na ng và thiết kế của từng nhà sản xuất Các firmware đu ợc chia thành các kiểu nhu sau:  Full-blown (full-OS/kernel + bootloader + libs + apps): đây thƣờng là một Linux hoặc Windows firmware vì chúng chứa một hệ điều hành hoàn chỉnh đã đƣợc tối giản Các ứng dụng có thể chạy trong chế độ ngƣời dùng, kernel modules, drivers  Integrated (apps + OS-as-a-lib) : đây là một bản firmware không đầy đủ, các chức na ng và hệ điều hành đu ợc xây dựng nhu một thƣ viện chứ không có đầy đủ các thành phần cần thiết nhu trong bản Full -blown  Partial updates ( các ứng dụng / các thƣ viện / các tài nguyên / các hỗ trợ): Loại firmware này chỉ chứa các tập tin dùng trong viẹ c cập nhật cho bản firmware cần nâng cấp Bài báo này, t ập trung phân tích loại Full - blown bởi vì khi chúng có chứa đầy đủ các tập tin hệ thống cần thiết cho viẹ c phân tích động Hệ điều hành hoàn chỉnh nhu ng tối giản trong các firmware loại này thông thu ờng chứ a các tập tin h ệ thống nhu sau:  Bootloader : là một đoạn mã đu ợc thực thi tru ớc khi hệ điều hành bắt đầu chạy và nó cho phép nhà sản xuất thiết bị quyết định những tính năng nào ngu ời sử dụng đu ợc phép dùng h oặc bị hạn chế  Kernel : đu ợc hiểu là hạt nhân - thành phần trung tâm của thiết bị định tuyến, có trách nh iệm giúp cho phần cứng và phần mềm của thiết bị có thể giao tiếp đu ợc với nhau Kernel là thành phần quan trọng nhất trong thiết bị, nếu kernel bị hỏng thì thiết bị định tuyến sẽ dừng hoạt động Kernel thƣờng đu ợc lu u trữ trong bộ nhớ Flash của thiết bị  File – system images : chứa các tạ p tin hệ thống có chức na ng tổ chức và kiểm soát quá trình hoạt động của thiết bị nhúng  Web – server/web – interface : đây chính là thành phần quan tr ọng giúp cho ngu ời dùng có thể tu o ng tác đu ợc với thiết bị m ột cách dễ dàng Tất cả các thông tin và cấu hình thiết bị phần lớn đu ợc thao tác thông qua Web – server và Web – interface Khác với các thiết bị máy tính cá nhân khi bộ vi xử lý đa phần dùng nền tảng i386 và hệ điều hành Windows, 86% các thiết bị định tuyến dùng các bộ vi xử lý nhƣ MIPS và ARM với hệ điều hành Linux [1 1 ] Do đó, yêu cầu đối với một môi trƣờng mô phỏng đầy đủ cho các thiết bị định tuyến phải thoả mãn điều kiện là hỗ trợ đa nền tảng vi xử lý: MIPS, ARM, PowerPC, SPARC,… và đa nền tảng hệ điều hành, đặc biệt là Linux Bên cạnh đó, một câu hỏi đặt ra là firmware cài đặt sẵn trong các thiết bị định tuyến lúc xuất xƣởng và các bản firmware công bố trên mạng có khác nhau Điều này quan trọng khi chúng ta chỉ có thể kiểm tra và phát hiện mã độc trên các bản firmware đƣợc công bố chứ không phải các bản cài đặt sẵn trên thiết bị Vì vậy , việc bóc tách bản firmware trên thiết bị để phân tích và phát hiện mã độc là cần thiết Để giải quyết những vấn đề trên, q uy trình xây dựng môi trƣờng phân tích mã độc trên các thiết bị định tuyến đề xuất đƣợc trình bày trong Mục III Hình 2 Nền tảng hệ điều hành sử dụng phổ biến trong firmware trên các thiết bị định tuyến [1] Journal of Science and Technology on Information security 44 Số 1 CS (05) 2017 III QUY TRÌNH XÂY D Ự NG MÔI TRƢỜ NG MÔ PH Ỏ NG VÀ PHÂN TÍCH Quy trình xây dựng môi trƣờng mô phỏng đầy đủ và phân tích đƣợc giới thiệu trong Hình 3 với 3 bƣớc chính nhƣ sau:  Bƣớc 1: Trích xuất firmware của thiết bị định tuyến với công cụ C500-Extractor  Bƣớc 2: Tạo bản ảnh phù hợp cho môi trƣờng mô phỏng đầy đủ hoạt động của thiết bị định tuyến với công cụ C500- Standardization  Bƣớc 3: Phân tích các hành vi thu nhận đƣợc để phát hiện hành vi bất thƣờng, từ đó đƣa ra cảnh báo có mã độc hay không trong firmware của thiết bị định tuyến với công cụ C500-Detector A Côn g cụ C500-Extractor Việc trích xuất firmware đƣợc thực hiện trên các dòng thiết bị định tuyến SOHO (Small Office – Home Office) thông qua một số phƣơng pháp nhƣ sử dụng chức năng backup của thiết bị, sử dụng cổng điều khiển nối tiếp (Serial) hay kênh kiểm tra lỗi (Debug Jtag) Tuy nhiên, trong một vài trƣờng hợp, những phƣơng pháp trích xuất này có thể không đạt đƣợc hiệu quả nhƣ mong muốn Nguyên nhân là do nhà sản xuất đã khóa các cổng này trên bảng mạch và không cho phép ngƣời dùng can thiệp v ào thiết bị của h ãng Trong trƣờng hợp này, việc trích xuất trực tiếp dữ liệu firmware từ thiết bị là cần thiết, và là mục tiêu mà thiết bị trích xuất C500-extractor hƣớng tới C500-extractor đƣợc thiết kế để lấy dữ liệu từ chip Flash chứa firmware nằm trên bảng mạch của thiết bị định tuyến Phiên bản mẫu đƣợc thiết kế và chế tạo có khả năng lấy dữ liệu từ các kiểu chip Flash trên các dòng thiết bị định tuyến phổ biến của TP - Link và Linksys, bao gồm: W25Q32FV, W25Q64F V, W25Q128FV (hãng Winbond); FM25Q64 ( Fidelix ); MX25L1606E (Macronix); EN29LV3 20B - 70TC (Eon) Thông qua tiến hành thực nghiệm trên những chip F lash này, hai chuẩn giao tiếp đƣợc sử dụng để đọc dữ liệu ra từ chip Flash là giao tiếp SPI (Serial Peripheral Interface) [9] và giao tiếp FSMC (Flexible Static M emory Controller) [10] Do đó, mẫu thiết kế n ày đã đƣợc tích hợp hai cổng FSMC và cổng SPI Trong đó, cổng FSMC đƣợc dùng để đọc chip Flash của hãng Eon và cổng SPI đƣợc sử dụng cho chip Flash của các hãng Winbond, Fidelix và Macronix Vi điều khiển chính đƣợc sử dụng trên thiết bị trích xuất này là vi điều khiển dòng STM32F10 Vi điều khiển này có thể hỗ trợ giao tiếp với chip Flash thông qua cả SPI và FSMC Hình 4 Hoạt động của thiết bị C500 -Extractor Để tiến hành quá trình trích xuất, chip Flash cần đƣợc trích xuất sẽ đƣợc đặt trên khay đọc chip tƣơng ứng trên thiết bị C500-Extractor nhƣ tr ên Hình 4 Sau đó, thiết bị trích xuất sẽ đọc ID code của chip Flash để xác định chip đƣợc đặt vào là loại chip nào và điều chỉnh các thông số phù hợp phục vụ cho quá trình đọc dữ liệu Tất cả dữ liệu trên chip Flash đƣợc đọc ra và lƣu vào một tệp có đuôi bin và lƣu trên thẻ nhớ nằm trong thiết bị trích xuất Sau khi quá trình trích xuất kết thúc, Hình 3 Tổng quan về bộ công cụ C500 - Toolkit Nghiên cứu Khoa học và Công nghệ trong lĩnh vự c An toàn thông tin Số 1 CS (05) 2017 45 tệp nhị phân này sẽ đƣợc chuyển vào máy tính thông qua kết nối cáp micro USB Dữ liệu trên tệp nhị phân này thƣờng bao gồm các thông số của NVRAM , vmlinux, bootloader và rootfs Sau khi các tệp nhị phân này đƣợc lấy ra, chúng sẽ đƣợc lƣu trữ vào cơ sở dữ liệu phục vụ cho những quy trình tiếp theo B Công cụ C500 - Standardization Sau khi đã trích xuất đƣợ c firmware t ừ thi ế t b ị đị nh tuy ế n, vi ệ c chu ẩ n hóa firmware mà không làm thay đ ổ i ho ạ t đ ộ ng c ủ a thi ế t b ị đ ị nh tuy ế n đƣ ợ c hoàn thành thông qua hai bƣ ớ c sau:  Bóc tách firmware và xác đị nh ki ế n trúc ph ầ n c ứng để b ổ sung các công c ụ thích h ợ p b ằ ng công c ụ C500-Reverse  B ổ sung thêm công c ụ theo dõi l ờ i g ọ i h ệ th ố ng (system-call), các hành vi m ạ ng b ằ ng công c ụ C500-Addition C500-Reverse đƣợc xây dựng dựa trên mục tiêu xác định kiến trúc phần cứng, giải nén mã nguồn nhị phân của firmware thành các tập tin hệ thống tƣờng minh và xác định phiên bản nhân Linux Sau đó, quá trình bóc tách firmware từ tệp tin bin đƣợc thực hiện để thu các tập tin hệ thống bởi công cụ C500-Reverse Trên thực tế, đã có sẵ những công cụ cho việc bóc tách firmware , có thể kể đến nhƣ:  Firmware-mod-kit (FMK) [11] : một tập các câu lệnh dƣới dạng kịch bản (script) và công cụ tích hợp nhằm mục đích dịch ngƣợc và đóng gói các firmware có nền tảng hệ điều hành là Linux FMK chứa một tập các phiên bản khác nhau của bộ công cụ unsquashfs , sau khi dùng FMK để xác định điểm offset cũng nhƣ phiên bản nén của phần nhân chứa tập tin hệ thống, FMK sẽ thử lần lƣợt từng phiên bản khác nhau có trong bộ công cụ unsquashfs của mình để dịch ngƣợc Phƣơng pháp này có một số điểm yếu , đáng chú ý nhất là việc dịch ngƣợc bằng một bộ công cụ unsquashfs nhất định chƣa chắc chắn là phiên bản chuẩn dùng khi biên dịch squashfs Việc này dễ xảy ra nếu nhà sản xuất thực hiện việc thay đổi nội dung trong phần Header của tập tin  Binwalk [12] : công cụ dùng để phân tích, dịch ngƣợc và giải nén d ữ liệu chứa trong ảnh của các firmware Binwalk đƣợc sử dụng phổ biến nhất hiện nay và dễ dàng tƣơng thích với các công cụ phân tích mã độc khác vì đƣợc viết chủ yếu bằng ngôn ngữ Pyth on Bằng công cụ Binwalk, Costin và cộng sự [13] đã thử nghiệm phân tích tĩnh các bản firmware của thiết bị định tuyến Theo kết quả thử nghiệm, nhóm tác giả đã chỉ ra rằng B inwalk không thể nhận dạng đƣợc một số firmware lƣu dƣới dạng tệp nhị phân , dẫn đến tỷ lệ dƣơng tính giả khá cao bởi không thể tìm thấy dấu hiệu (signal) hoặc dấu hiệu đã bị thay đổi khi sử dụng đối sánh trong tập tin magic [8] Đặc biệt , t ỷ lệ này là cao đối với những dòng thiết bị của Cisco khi dữ liệu nén kiểu gzip Nói cách khác, hạn chế của Binwalk không thể xác định đƣợc các loại firmware Integrated hay Partial updates  Extracter của Firmadyne: là công cụ đƣợc Daming D Chen cùng đồng sự [8] sử dụng, trong đó đã làm mịn các chức năng có trong Binwalk Tuy nhiên , khả năng dịch ngƣợc của Firmadyne cũng còn hạn chế khi tỉ lệ thành công chỉ chiếm gần 33% Để cải thiện các tồn tại trên, môđun C500- Reverse đã đề xuất tại hội thảo SOIS 2016 [14] cho thấy có tỉ lệ bóc tách tốt hơn Lý do của kết quả này là C500-Reverse có nhiều môđun để dịch ngƣợc firmware theo các kiểu tập tin hệ thống khác nhau nhƣ squashfs, cramfs, jefferson, yaffs, … chiếm tới 97% trên tập thử nghiệm bao gồm 13275 firmware Các kiểu tập tin hệ thống phổ biến nhất đƣợc trình bày tại Hình 5 Hình 5 Các kiểu tập tin hệ thống phổ biến nhất [14] Hình 6 Các tập tin hệ thống của firmware Journal of Science and Technology on Information security 46 Số 1 CS (05) 2017 Hơn nữa, C500-Reverse đƣợc xây dựng theo các môđun riêng cho phép việc cập nhật thƣờng xuyên [14] Các đặc trƣng về phƣơng pháp dịch ngƣợc, sai số khi dịch ngƣợc và kiểm chứng dịch ngƣợc đã đƣợc trình bày cụ thể trong bài báo “Phát triển công cụ dịch ngƣợc firmware trên thiết b ị định tuyến” [14] Một ví dụ về các tập tin hệ thống của firmware Netgear WNAP320 version 2 0 3 sau khi dịch ngƣợc bằng C500-Reverse đƣợc trình bày trên Hình 6 Bên cạnh những thƣ mục thƣờng thấy trong hệ điều hành Linux nhƣ bin, dev, etc , những thƣ mục chứa giao diện web của thiết bị định tuyến đƣợc tìm thấy ở thƣ mục www, cli trong thƣ mục home Ở giai đoạn này, việc xác định những thành phần còn thiếu của firmware để mô phỏng đầy đủ giao diện web và hệ điều hành là rất quan trọng Để mô phỏng giao diện web, Firmadyne [8] đã trình bày chi tiết quá trình và cách sử dụng các công cụ quét để phát hiện các lỗ hổng Dƣới đây , chúng tôi giới thiệu cách để mô phỏng hệ điều hành để phát hiện mã độc dựa trên các lời gọi hệ thống (S ystem-calls) và các h oạt động mạng Trên thực tế, để giảm kích thƣớc firmware của thiết bị định tuyến xuống dƣới 8 M b, các nhà cung cấp đã tùy chỉnh firmware bằng cách loại bỏ các phần “không cần thiết” Vì vậy, Busybox đƣợc sử dụng rộng rãi trong các hệ thống nhúng vì nó tích hợp các phiên bản nhỏ của nhiều tiện ích phổ biến trên UNIX [15] Tuy nhiên, để đảm bảo sự nhỏ gọn nên Busybox không đƣợc tích hợp các công cụ để theo dõi các lời gọi hệ thống và theo dõi các hoạt động mạng Theo kết quả nghiên cứu của Landley [15] tùy biến với các phiên bản Busybox khác nhau, chúng tôi có thể tùy chỉnh để có thêm nhiều chức năng hơn mà không làm thay đổi hay ảnh hƣởng đến hoạt động của thiết bị định tuyến Đối với mỗi firmware , một phiên bản Busybox thích hợp với đầy đủ chức năng hơn đƣợc thay thế cho Busybox vốn có của firmware tìm thấy trong thƣ mục bin Một Busybox đầy đủ các công cụ đƣợc thể hiện ở trong Hình 7 Tiếp theo, việc xác định các thƣ viện còn thiếu và tích hợp các công cụ giám sát vào firmware là cần thiết Chúng tôi đã chọn Strace [16] để theo dõi các lời gọi hệ thống và Tcpdump [17] để theo dõi các hành vi mạng Strace là công cụ cho phép ngƣời dùng giám sát các tƣơng tác giữa các tiến trình và nhân Linux bao gồm các lời gọi hệ thống, sự phân phối tín hiệu và sự thay đổi trạng thái của tiến trình Tcpdump là công cụ phân tích các gói dữ liệu mạng, cho phép chặn bắt và h iển thị các gói tin đƣợc truyền , nhận trên một mạng mà nó kết nối đến Công cụ C500-Addition xác định những thƣ viện còn thiếu để phục vụ cho việc cài đặt Strace và Tcpdump Để dễ dàng hơn, chúng tôi sử dụng QEMU [18] để mô phỏng firmware trƣớc tiên và sau đó sẽ bổ sung các thƣ viện còn thiếu Ở giai đoạn này, QEMU đòi hỏi một tập các giá trị cấu hình mặc định của các thiết bị ngoại vi và lƣu cấu hình này liên tục vào NVRAM Tuy nhiên, những giá trị này đôi khi không có trong dữ liệu đƣợc trích xuất từ Flash, vì một số nhà cung cấp lƣu trữ sẵn trong một thành phần khác của thiết bị Để giải quyết vấn đề này, một giải pháp thay thế đƣợc đề xuất là sử dụng thƣ viện libnvram so nhƣ Firmad yne đã làm Thƣ viện này bao gồm các thiết lập cơ bản về cấu hình giao diện web nhƣ cài đặt mạng wifi, địa chỉ MAC và các xác thực truy cập cho giao diện web Bằng cách sử dụng thƣ viện này, Firmadyne đã mô phỏng thành công 52,6% trong tổng số các firmware đƣợc bóc tách (4992 trong số 9486 firmware đƣợc kiểm tra) [8] Sau đó, C500-Addition bắt đầu mô phỏng firmware và bổ sung tất cả những thƣ viện còn thiếu Nhờ vào việc thay đổi Busybox với đầy đủ chức năng, chúng tôi có thể cài đặt đƣợc Strace và Tcpdump để thực hiện theo dõi hệ thống Công cụ Strace chạy ổn định trên phiên bản nhân Linux 3 2 x, trong khi trên phiên bản nhân Linux 2 6 x đƣợc tùy chỉnh bởi Firmadyne lại chƣa hỗ trợ Hình 7 Busybox với đầy đủ chức năng Nghiên cứu Khoa học và Công nghệ trong lĩnh vự c An toàn thông tin Số 1 CS (05) 2017 47 Với gần 86% thiết bị định tuyến sử dụng nhân Linux 2 6 x [1] , nhóm nghiên cứu phải tùy chỉnh nhân Linux 2 6 x để các công cụ Strace và Tcpdump có thể chạy nhằm phục vụ cho việc thu thập thông tin phát hiện mã độc trong thiết bị định tuyến C Công cụ C500-Detector Công cụ này đƣợc xây dựng dựa trên kiểm tra các hành vi tƣơng tác của mã độc với thiết bị theo thời gian thực Các quy tắc phát hiện dựa trên tập các hành vi bất thƣờng mà mã độc tƣơng tác với các tập tin hệ thống, mạng và các tiến trình Chúng tôi đã phân tích các thông tin đƣợc thu thập bởi công cụ Strace để xác định các hành vi bất thƣờng về việc tạo, xóa các tập tin mà không có quyền của ngƣời sử dụng; công cụ Tcpdump giám sát các hành vi lắng nghe, mở và quét các cổng trái phép; kết nối đến IP trong danh sách nghi vấn Kết quả thu đƣợc từ môđun C500-Detector đƣợc trình bày trong phần kết quả thực nghiệm IV KẾT QUẢ THỰC NGHIỆM Trong phần này, nhóm tác giả trình bày kết quả thực nghiệm mà bộ công cụ C500-toolkit giám sát mã độc Linux/Mirai thực thi trên thiết bị định tuyến Mã độc Linux/Mirai đƣợc tải về từ mã nguồn công bố trên Internet [19] Mã độc này lây nhiễm hàng loạt thiết bị IoT, biến chúng trở thành mạng botnet để thực hiện tấn công DDoS Sự kiện này đƣợc đánh giá là cuộc tấn công từ chối dịch vụ lớn nhất từ trƣớc đến nay (MD5: 8e3 6a1fb6f6f718ec0b621a639437d8b) Kịch bản thử nghiệm nhƣ sau:  Hai bản sao của firmware Netgear WNAP320 đƣợc sử dụng để thực hiện mô phỏng Trong đó , một bản có lây nhiễm mã độc Linux/Mirai và bản còn lại thì không  Thực hiện các bƣớc đƣợc trình bày tại Mục III để chuẩn hóa hai firmware  Tiến hành thực thi hai firmware này trên môi trƣờng mô phỏng đầy đủ và thực hiện quá trình giám sát, phân tích: Sử dụng Metasploit quét cả hai firmware khi đang mô phỏng để kiểm tra liệu có thêm lỗ hổng nào trong suốt quá trình Linux/Mirai thực thi hay không; Sử dụng Tcpdump để giám sát hành vi mạng của cả hai bản firmware; Sử dụng Strace quét firmware bị nhiễm mã độc để ghi lại mọi hành vi thể hiện dƣới dạng các cuộc gọi hệ thống  Dựa trên kết quả thu đƣợc từ Metasploit, Tcpdump và Strace , C500-Detector phát hiện các hành vi bất thƣờng có thể có trong suốt quá trình mô phỏng firmware , từ đó quyết định xem có tồn tại mã độc trong firmware hay không Sau khi mô phỏng thành công hai firmware, kết quả thu đƣợc nhƣ sau: Đối với công cụ Metasploit , kết quả thu đƣợc là một lỗ hổng giống nhau trên cả hai bản firmware, có mã là: CVE-2016- 1555 Kết quả này đồng nghĩa với việc không xuất hiện thêm một lỗ hổng nào trong suốt quá trình Linux/Mirai thực thi Kết quả quét với Metasploit đƣợc trình bày tại Hình 8 Đây cũng là đóng góp chính của môi trƣờng mô phỏng đầy đủ đề xuất khi mà sử dụng Firmadyne không thể phát hiện ra mã độc trên các thiết bị định tuyến Hình 8 Kết quả quét với Metasploit Journal of Science and Technology on Information security 48 Số 1 CS (05) 2017 Đối với công cụ Tcpdump , thông tin giám sát các hành vi mạng thu đƣợc là giống nhau Kết quả này cho thấy , điểm hạn chế trong phƣơng pháp mô phỏng đề xuất là chƣa giám sát đƣợc hoàn toàn các hành vi mạng của mã độc Kết quả giám sát đƣợc trình bày tại Hình 9 Đối với công cụ Strace , thông tin thu đƣợc có nhiều điểm nghi vấn Đối với bản firmware có chứa Linux/Mirai, 2 tiến trình mới đƣợc tạo và đƣợc thể hiện ở Hình 10 (hai tiến trình có PID là 537 và 538) Trƣớc khi phân tích chi tiết hai tiến trình 537 và 538, phân tích sơ bộ ban đầu khi dùng Strace giám sát thông tin tƣơng tác giữa Linux/Mirai và Kernel thì phát hiện hành vi mở tập tin /dev/watchdog ở trạng thái cho phép đọc và ghi ở dòng đầu tiên: open("/dev/watchdog", O_RDWR) Sau đó, socket PF_INET cho giao thức TCP đƣợc mở thông qua một cổng đặc biệt (53) để kết nối với máy chủ DNS của Google (8 8 8 8): socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("8 8 8 8")}, 16) Ở giai đoạn này, các thông tin chƣa có gì khác thƣờng, tuy nhiên khi tiếp tục sẽ thấy Linux/Mirai mở một cổng TCP ngẫu nhiên (48178) dựa trên socket PF_INET trƣớc đó tới một địa chỉ cụ thể là 192 168 0 150: getsockname(3, {sa_family=AF_INET, sin_port=htons(43847), sin_addr=inet_addr("192 168 0 150") }, [14]) Mặc dù những thông tin này chƣa đầy đủ để xác định việc mở cổng hậu (backdoor) và sự thay đổi các tập tin hệ thống khi bị nhiễm mã độc nhƣng nó thực sự thể hiện một số hành vi: sửa đổi tập tin watchdog, mở một cổng TCP đến một địa chỉ IP cụ thể, lắng nghe các kết nối từ bên ngoài Để có thể khẳng định chính xác về các hành vi của mã độc này, kết quả thu đƣợc từ hai tiến trình 537 và 538 với Strace nhƣ sau:  Với tiến trình 537: dễ dàng thấy đƣợc đây là một hành vi của backdoor khi kết nối với IP 65 222 202 53 thông qua HTTP ở cổng 80 Chi tiết đƣợc trình bày ở H ình 12 Hình 9 Kết quả giám sát bằng công cụ Tcpdump Hình 10: Kết quả phân tích sơ bộ với strace Nghiên cứu Khoa học và Công nghệ trong lĩnh vự c An toàn thông tin Số 1 CS (05) 2017 49 Hình 12 Linux/Mirai kết nối với IP 65 222 202 53 qua cổng 80 Hình 11 : Các tiến trình trƣớc và sau khi Linux/Mirai thực thi Hình 13 Linux/Mirai quét cổng telnet để tự động lây nhiễm Journal of Science and Technology on Information security 50 Số 1 CS (05) 2017  T i ến trình 538 có chức năng quét các cổng telnet (cổng 23) từ các địa chỉ IP khác nhƣ 189 34 200 158 và 153 55 105 31,… Chức năng này phục vụ cho mục đích tự động lây lan sang các thiết bị khác của mã độc này Chi tiết đƣợc trình bày ở H ình 13 Đến đây, chúng tôi có thể khẳng định , mẫu mã độc này có những hành vi bất thƣờng nhƣ mở cổng hậu kết nối với IP 65 222 202 53 và quét cổng telnet để phục vụ cho mục đích lây nhiễm của mã độc này VI K Ế T LU Ậ N B ộ công c ụ C500-toolkit th ự c hi ệ n quy trình mô ph ỏng đầy đủ nh ằ m thu th ậ p, phân tích và phát hi ện mã độ c trong các thi ế t b ị đị nh tuy ế n Quy trình này cho phép ch ạ y các firmware thi ế t b ị đị nh tuy ến trong môi trƣờ ng mô ph ỏ ng và giám sát các hành vi c ủ a firmware này T ừ nh ữ ng thông tin thu th ập đƣợ c, có th ể xác đị nh đƣợ c các hành vi b ấ t thƣờ ng c ủa mã độ c lây nhi ễ m trong firmware c ủ a các thi ế t b ị đị nh tuy ế n m ộ t cách nhanh chóng mà không c ầ n t ớ i thi ế t b ị th ậ t V ới ƣu thế s ử d ụ ng môi trƣờ ng mô ph ỏng để ch ạ y các firmware c ủ a nhi ề u dòng thi ế t b ị đị nh tuy ế n khác nhau mà không ph ụ thu ộ c vào ph ầ n c ứ ng th ậ t, b ộ công c ụ C500-toolkit có kh ả năng phân tích diệ n r ộ ng v ớ i nhi ề u dòng thi ế t b ị đị nh tuy ế n khác nhau Do t ậ p lu ậ t mà nhóm tác gi ả s ử d ụng để phát hi ện mã độ c trên thi ế t b ị đị nh tuy ế n còn ít, vì v ậ y chƣa thể phát hi ện đƣợc chính xác mã độ c trong m ộ t s ố trƣờ ng h ợp Trong tƣơng lai gầ n, nhóm tác gi ả s ẽ b ổ sung t ậ p các hành vi b ất thƣờ ng, k ế t h ợ p v ớ i k ỹ thu ậ t h ọ c máy áp d ụ ng vào nghiên c ứ u các d ữ li ệ u thu th ập đƣợ c t ừ b ộ công c ụ C500-toolkit để phát tri ể n công c ụ đầy đủ để t ự động xác đị nh mã độ c xu ấ t hi ệ n trong firmware c ủ a thi ế t b ị đị nh tuy ế n Bên c ạnh đó, nhóm tác giả s ẽ c ả i ti ế n C500- toolkit để nâng cao kh ả năng trích xuấ t, ả o hóa các thi ế t b ị ph ầ n c ứ ng nh ằm giúp cho môi trƣờ ng mô ph ỏng đầy đủ hơn, mô phỏ ng các firmware c ủ a nhi ề u dòng thi ế t b ị đị nh tuy ế n, áp d ụ ng cho nhi ề u lo ại CPU hơn (ARM, PowerPC,…) nhằ m phát hi ệ n các lo ại mã độ c m ớ i xu ấ t hi ệ n trên thi ế t b ị đị nh tuy ến trong tƣơng lai gầ n TÀI LIỆU THAM KHẢO [1] A Costin, J Zaddach, A Francillon, and D Balzarotti, “ A Large-Scale Analysis of the Security of Embedded Firmwares ” , USENIX Security, pp 95-110, 2014 [2] C Kruegel and Y Shoshitaishvili, “ Using Static Binary Analysis To Find Vulnerabilities And Backdoors In Firmware ” , Black Hat USA, 2015 [3] D Davidson, B Moench, S Jha, and T Ristenpart, “ FIE on Firmware, Finding vulnerabilities in embedded systems using symbolic execution ” , USENIX Security, 2013 [4] T Ronghua, “ An Integrated Malware Detection and Classification System ” , No Ph D Deakin University, 2011 [5] A Moser, C Kruegel, and E Kirda, “ Limits of Static Analysis for Malware Detection ” , Computer security applications conference, pp 421-430, 2007 [6] K Rieck, T Holz, C Willems, P Düssel, and P Laskov, “ Learning and Classification of Malware Behavior ” Springer Berlin Heidelberg, pp 108- 125, 2008 [7] J Zaddach, L Bruno, A Francillon, and D Balzarotti, Avatar: “ A Framework to Support Dynamic Security Analysis of Embedded Systems Firmwares ” , NDSS 2014 [8] D Chen, M Egele, M Woo, and D Brumley, “ Towards Automated Dynamic Analysis for Linux-based Embedded Firmware ” , ISOC Network and Distributed System Security Symposium (NDSS), 2016 [9] L Frédéric, “ An introduction to I 2 C and SPI protocols ” , IEEE Instrum Meas Mag, vol 12, pp 8 – 13, 2009 [10] E Volpi, F Sechi, and T Cecchini, “ System study for a head-up display based on a flexible sensor interface ” , Sensors and Microsystems, Springer Netherlands, pp 413 – 417, 2010 [11] Firmware mod kit [Online] https://code google com/archive/p/firmware-mod- kit/ [12] Binwalk [Online] http://binwalk org [13] J Zaddach and A Costin, “ Embedded Devices Security and Firmware Reverse Engineering ” , Black-Hat USA, 2013 [14] T N Phú, N H Trung, and N Q Dũng, “ Phát triển công cụ dịch ngƣợc firmware trên thiết bị định tuyến” , SOIS, 2016 [15] https://www busybox net [16] https://strace io Nghiên cứu Khoa học và Công nghệ trong lĩnh vự c An toàn thông tin Số 1 CS (05) 2017 51 [17] F Fuentes and C Kar, “ Ethereal vs Tcpdump: a comparative study on packet sniffing tools for educational purpose ” , J Comput Sci Coll Consort Comput Sci Coll USA, Apr 2005 [18] F Bellard, “ QEMU, a fast and portable dynamic translator ” , USENIX Annual Technical Conference, FREENIX Track, pp 41-46, 2005 [19] Linux/Mirai [Online] http://www malwaremustdie org SƠ LƢỢC VỀ TÁC GIẢ TS Ngô Quốc Dũng Đơn vị công tác: Học viện An ninh nhân dân, Bộ Công An Email : quocdung ngo@gmail com Quá trình đào tạo: Nhận bằng Kỹ sƣ tại Đại học Bách Khoa Nantes; Nhận bằng Thạc sỹ tại Đại học Bách Khoa Nantes và Đại học Lyon 2; Bảo vệ Tiến sỹ tại Đại học Bách khoa Grenoble, Cộng Hòa Pháp Hƣớng nghiên cứu hiện nay: Đảm bảo an toàn , an ninh thông tin trên các thiết bị IoT ThS Lê Hải Việt Đơn vị công tác: Học viện An ninh nhân dân, Bộ Công An Email: vietlhsa@gmail com Quá trình đào tạo: Nhận bằng Kỹ sƣ và bằng Thạc sỹ tại Đại học tổng hợp kỹ thuật quốc gia Irkutsk, Liên bang Nga Đang là nghiên cứu sinh tại Khoa CNTT – Học viện Khoa học và Công nghệ, Viện Hàn lâm khoa học Việt Nam Hƣớng nghiên cứu hiện nay: phân tích phát hiện mã độc trong các thiết bị IoT và ứng dụng CN Trần Hoàng Anh Đơn vị công tác: Học viện An ninh nhân dân, Bộ Công An Email : anhthk55@gmail com Quá trình đào tạo: Nhận bằng cử nhân ĐTVT tại Đại học Công nghệ - Đại học Quốc gia Hà Nội Hƣớng nghiên cứu hiện nay: xây dựng hệ thống trích xuất, phân tích dữ liệu từ thiết bị nhớ trong hệ thống nhúng Lê Văn Hoàng Đơn vị công tác: Học viện An ninh nhân dân, Bộ Công An Email: levanhoang psa@gmail com Quá trình đào tạo: Sinh viên Khoa Công nghệ và An toàn thông tin , Học viện An ninh nhân dân Hƣớng nghiên cứu hiện nay: phân tích phát hiện mã độc trong hệ điều hành Linux và ứng dụng cho thiết bị nhúng Nguyễn Việt Anh Đơn vị công tác: Học viện An ninh nhân dân, Bộ Công An Email : vietanhnguyen142857@gmail com Quá trình đào tạo : Sinh viên Khoa Công nghệ và An toàn thông tin, Học viện An ninh nhân dân Hƣớng nghiên cứu hiện nay: phân tích phát hiện mã độc trong hệ điều hành Linux và ứng dụng cho thiết bị nhúng

Nghiên cứu Khoa học Công nghệ lĩnh vực An tồn thơng tin Xây dựng hệ thống phát mã độc thiết bị định tuyến dựa mơ Ngơ Quốc Dũng, Lê Hải Việt, Trần Hồng Anh, Lê Văn Hồng, Nguyễn Việt Anh Tóm tắt— Song hành cách mạng thiết bị mạng đƣợc phân tích, có 38 công nghiệp lần thứ phát triển mạng lưới kết loại lỗ hổng chƣa đƣợc phát trƣớc nối thiết bị IoT Để đảm bảo thông suốt Thông qua lỗ hổng này, tin tặc cơng tồn q trình trao đổi thơng tin thiết bị làm chủ thiết bị, từ làm sở để cơng vào IoT, thiết bị định tuyến đóng vai trị then chốt mạng mà thiết bị kết nối đến Johannes Do đó, thiết bị định tuyến trở thành mục Ullrich công bố nghiên cứu mã độc Bashlite, tiêu công phổ biến tin tặc Điều dẫn tới mã độc lây nhiễm phổ biến nguy không an tồn thơng tin thiết bị thiết bị IoT để xây dựng mạng botnet, nhằm IoT nói riêng mà cịn nguy gây an tồn, an thực công DDoS Với triệu thiết bị ninh mạng nói chung Trong báo này, nhóm tác IoT bị nhiễm độc, Bashlite phát động giả đề xuất phương pháp mô đầy đủ công DDoS lên tới 400 Gbps thông qua kỹ nhằm thu thập liệu hoạt động phần sụn thuật đơn giản nhƣ UDP hay TCP flood Bashlite (firmware) để phát mã độc thiết bị đƣợc coi tiền thân Mirai - loại mã độc ảnh định tuyến hƣởng tới nhiều loại thiết bị IoT Mạng lƣới botnet Mirai đƣợc sử dụng Abstract— Nowadays, along with the Fourth công DDoS đạt tới kỷ lục 1,1 Tbps với 148.000 Industrial Revolution is the rapid development of thiết bị IoT Mục tiêu lây nhiễm chủ yếu Mirai IoT devices networks The router, which is used as a IP camera, DVR thiết bị định tuyến core to ensure the stability of the entire interacting sử dụng gia đình Để đối phó với nguy process between IoT devices, has became a potential này, nhà nghiên cứu mã độc target for hackers This fact leads to the risk of not phát triển phƣơng pháp kỹ thuật phát only IoT devices’ security in particular but also the Về bản, nghiên cứu chia cyber security in general In this paper, the authors làm hai nhóm phân tích tĩnh phân tích propose a complete emulation method for collecting động firmware’s operation data to detect malware in routers Phân tích tĩnh phƣơng pháp phân tích, kiểm tra phần mềm, mã độc trực tiếp mã Từ khóa— Phân tích động; Mã độc; IoT; Thiết nguồn, mã nhị phân tƣờng minh tập tin bị định tuyến; Mô mà không cần thực thi chúng Các nghiên cứu sử dụng phƣơng pháp thiết bị IoT Keywords— Dynamic analysis; Malware; IoT; kể đến nhƣ Angr [2] Phân tích tĩnh cho phép chi Router; Simulation tiết hóa tồn luồng điều khiển (Control-Flow Graph) luồng liệu (Data-Flow Graph) cho I GIỚI THIỆU tập tin hệ thống firmware Từ đó, phát mã độc kỹ thuật phân tích đặc trƣng Sự phát triển nhanh chóng số lƣợng nhƣ: mã trung gian (bytecode), header, system- thiết bị IoT mang tới khả kết nối, trao calls API hay Printable-Strings-Information (PSI) đổi thông tin thiết bị với thơng qua [3] Phƣơng pháp phân tích tĩnh cho phép phân mạng Internet Trong có thiết bị đƣợc sử dụng tích chi tiết tập tin đƣa nhìn tổng quát phổ biến để kết nối nhiều thiết bị IoT với tất khả kích hoạt mã độc [4] thiết bị định tuyến (Router) Tuy nhiên, vấn đề bảo mật cho thiết bị định tuyến chƣa đƣợc Tuy nhiên, phƣơng pháp phân tích tĩnh khó quan tâm mức áp dụng loại mã độc sử dụng kỹ thuật gây rối phức tạp (obfuscations) nhƣ xếp Trong nghiên cứu mình, Andrei Costin lại câu lệnh, chèn mã lệnh vô nghĩa [5] Một hạn cộng [1] phát 32.256 firmware chế phƣơng pháp công nghệ dịch ngƣợc mã nhị phân thành mã bậc cao Bài báo đƣợc nhận ngày 25/05/2017 Bài báo đƣợc gửi cho nhiều hạn chế [4] làm cho việc phân tích phản biện thứ vào ngày 20/06/2017 nhận đƣợc ý kiến tính xác đồng ý đăng phản biện thứ vào ngày 27/07/2017 Bài báo đƣợc gửi phản biện thứ hai vào ngày 01/07/2017 Số 1.CS (05) 2017 41 nhận đƣợc ý kiến đồng ý đăng phản biện thứ hai vào ngày 31/07/2017 Journal of Science and Technology on Information security Do đó, theo Andreas Moser [5], phƣơng pháp việc kích hoạt mã độc nhƣ time-bomb, bot,… phân tích tĩnh nên đƣợc sử dụng nhƣ phần bổ phƣơng pháp động giám sát hết sung cho phân tích động hành vi tiềm tàng mã độc Việc giám sát đƣợc tất khả thực thi mã độc phân Phân tích động phƣơng pháp giám sát, thu tích động đòi hỏi nhiều thời gian với liệu ghi thập phân tích hành vi hệ thống để từ nhận lớn phát mã độc [6] Kỹ thuật dựa nguyên lý sử dụng tập luật bình thƣờng để trì Mặc dù có hạn chế, nhƣng phân tích xem xét chƣơng trình có cố ý vi phạm động có ƣu điểm bật so với phân tích tĩnh tập luật đƣợc định trƣớc hay không Một số khả áp dụng diện rộng tránh đƣợc nghiên cứu phân tích động phát mã độc kỹ thuật làm rối nhƣ nêu Do đó, phƣơng pháp thiết bị IoT kể đến nhƣ Avatar [7], phân đề xuất báo dựa phƣơng pháp tích lỗ hổng bảo mật thiết bị định tuyến – phân tích động bổ khuyết cho Firmadyne Firmadyne [8] Yêu cầu quan trọng cách xây dựng môi trƣờng mô đầy đủ, phân tích động cho thiết bị IoT xây dựng bao gồm phần giao diện web quản trị cho việc môi trƣờng mô đầy đủ chức quét lỗ hổng phần hoạt động hệ điều hành cần có thiết bị, có khả giám sát hành thiết bị định tuyến cho việc phân tích mã độc vi firmware thực thi tránh lây nhiễm mã độc sang môi trƣờng thực tế Bài báo đƣợc trình bày theo bố cục sau: Sau Mục Giới thiệu, Mục II giới thiệu tổng quan Để giải yêu cầu trên, Jonas Zaddach cấu trúc thiết bị định tuyến firmware cộng giới thiệu Avatar [7], cho phép mơ Mục III trình bày quy trình xây dựng mơi trƣờng hoạt động CPU tái sử dụng toàn mơ phân tích Kết thực nghiệm cụ phần cứng thiết bị định tuyến phục vụ mục thể đƣợc đƣa Mục IV cuối đích mơ Tuy nhiên, hạn chế Mục Kết luận Avatar khả hoạt động thời gian thực, việc xử lý phân tích thơng tin môi trƣờng II TỔNG QUAN VỀ CẤU TRÚC CỦA CÁC mô Qemu thiết bị thật thông qua kênh THIẾT BỊ ĐỊNH TUYẾN VÀ FIRMWARE UART, Jtag chậm Do đó, việc sử dụng công A Tổng quan cấu trúc thiết bị định tuyến cụ Avatar phát mã độc theo thời gian thực thiết bị IoT bất khả thi Hình Cấu tạo thiết bị định tuyến Mặt khác, Daming Chen cộng trình Thiết bị định tuyến thiết bị mạng lớp bày Firmadyne nghiên cứu mơ hình OSI (Open Systems Interconnection) với Đây hệ thống phân tích động với mục tiêu cụ cấu tạo đƣợc thể Hình 1, gồm phần thể thiết bị định tuyến hạ tầng mạng [8] cụ thể nhƣ sau: Tuy nhiên, Firmadyne cho phép mô phần giao diện web quản trị thiết bị định  CPU: điều khiển hoạt động định tuyến với đầu vào Firmware chúng Điều tuyến sở hệ thống chƣơng trình phục vụ mục tiêu quét lỗ hổng bảo mật thực thi hệ điều hành thiết bị định tuyến cách sử dụng công cụ nhƣ Metaspoit Nessus, không cho  ROM: chứa chƣơng trình tự động kiểm phép phát mã độc tra có thành phần cho định tuyến thực thi đƣợc Ƣu điểm bật phƣơng pháp phân tích số hoạt động tối thiểu khơng có động hiệu độ xác, cho phép xác hệ điều hành hay hệ điều hành bị hỏng định nhanh chóng tổng qt mã độc đƣợc phân tích, thơng qua hành vi chúng So với phƣơng pháp phân tích tĩnh việc dịch ngƣợc, gỡ rối (deobfuscation) phƣơng pháp động cho phép phân tích dễ dàng với mã độc có cấu trúc, mã nguồn phức tạp Tuy nhiên, phân tích động giám sát đơn luồng thực thi Điều đƣợc T Ronghua [4] chứng minh công bố rằng: điều kiện mơi trƣờng ảnh hƣởng trực tiếp đến 42 Số 1.CS (05) 2017 Nghiên cứu Khoa học Công nghệ lĩnh vực An tồn thơng tin  RAM: cấp phát vùng nhớ cho trình  Kernel: đuợc hiểu hạt nhân - thành phần nhƣ: lƣu trữ bảng định tuyến, vùng trung tâm thiết bị định tuyến, có trách đệm, tập tin cấu hình chạy, thơng số nhiệm giúp cho phần cứng phần mềm đảm bảo hoạt động định tuyến thiết bị giao tiếp đuợc với Kernel thành phần quan trọng  Flash: thiết bị nhớ có khả ghi thiết bị, kernel bị hỏng thiết bị định xóa, lƣu liệu nguồn Thơng tuyến dừng hoạt động Kernel thƣờng thƣờng, firmware định tuyến đƣợc đuợc luu trữ nhớ Flash thiết bị lƣu trữ Tùy thuộc thiết bị định tuyến khác mà hệ điều hành đƣợc  File–system images: chứa tạp tin hệ chạy trực tiếp từ Flash hay đƣợc tải lên thống có chức nang tổ chức kiểm soát RAM trƣớc chạy Tập tin cấu hình trình hoạt động thiết bị nhúng đƣợc lƣu trữ Flash  Web–server/web–interface:  NVRAM (None-Volatile RAM): có chức thành phần quan trọng giúp cho nguời dùng tƣơng tự nhƣ Flash nhƣng có khả tuong tác đuợc với thiết bị cách lƣu trữ NVRAM thƣờng chứa dễ dàng Tất thơng tin cấu hình tập tin cấu hình thiết bị để đảm bảo thiết bị phần lớn đuợc thao tác thông qua khởi động, cấu hình mặc định thiết bị Web–server Web–interface 
 định tuyến đƣợc tự động nạp trạng thái lƣu giữ Khác với thiết bị máy tính cá nhân vi xử lý đa phần dùng tảng i386 hệ điều B Tổng quan cấu trúc firmware hành Windows, 86% thiết bị định tuyến dùng vi xử lý nhƣ MIPS ARM với hệ điều Cấu trúc firmware đa dạng, phụ thuọc hành Linux [11] vào chức nang thiết kế nhà sản xuất Các firmware đuợc chia thành kiểu nhu sau: Do đó, yêu cầu môi trƣờng mô đầy đủ cho thiết bị định tuyến phải thoả  Full-blown (full-OS/kernel + bootloader + mãn điều kiện hỗ trợ đa tảng vi xử lý: libs + apps): thƣờng Linux MIPS, ARM, PowerPC, SPARC,… đa Windows firmware chúng chứa hệ tảng hệ điều hành, đặc biệt Linux Bên cạnh đó, điều hành hoàn chỉnh đƣợc tối giản Các câu hỏi đặt firmware cài đặt sẵn ứng dụng chạy chế độ ngƣời thiết bị định tuyến lúc xuất xƣởng dùng, kernel modules, drivers firmware cơng bố mạng có khác Điều quan trọng kiểm tra  Integrated (apps + OS-as-a-lib): phát mã độc firmware đƣợc công firmware không đầy đủ, chức nang bố cài đặt sẵn thiết bị hệ điều hành đuợc xây dựng nhu thƣ Vì vậy, việc bóc tách firmware thiết bị để viện khơng có đầy đủ thành phần phân tích phát mã độc cần thiết cần thiết nhu Full-blown Hình Nền tảng hệ điều hành sử dụng phổ biến  Partial updates (các ứng dụng / thƣ firmware thiết bị định tuyến [1] viện / tài nguyên / hỗ trợ): Loại firmware chứa tập tin dùng Để giải vấn đề trên, quy trình viẹc cập nhật cho firmware cần xây dựng môi trƣờng phân tích mã độc nâng cấp thiết bị định tuyến đề xuất đƣợc trình bày Mục III Bài báo này, tập trung phân tích loại Full- blown chúng có chứa đầy đủ tập tin hệ thống cần thiết cho viẹc phân tích động Hệ điều hành hồn chỉnh nhung tối giản firmware loại thông thuờng chứa tập tin hệ thống nhu sau:  Bootloader: đoạn mã đuợc thực thi truớc hệ điều hành bắt đầu chạy cho phép nhà sản xuất thiết bị định tính nguời sử dụng đuợc phép dùng bị hạn chế Số 1.CS (05) 2017 43 Journal of Science and Technology on Information security Hình Tổng quan cơng cụ C500-Toolkit III QUY TRÌNH XÂY DỰNG MƠI TRƢỜNG FM25Q64 (Fidelix); MX25L1606E (Macronix); MƠ PHỎNG VÀ PHÂN TÍCH EN29LV3 20B-70TC (Eon) Quy trình xây dựng môi trƣờng mô đầy Thông qua tiến hành thực nghiệm đủ phân tích đƣợc giới thiệu Hình với chip Flash này, hai chuẩn giao tiếp đƣợc sử dụng bƣớc nhƣ sau: để đọc liệu từ chip Flash giao tiếp SPI (Serial Peripheral Interface) [9] giao tiếp  Bƣớc 1: Trích xuất firmware thiết bị FSMC (Flexible Static Memory Controller) [10] định tuyến với cơng cụ C500-Extractor Do đó, mẫu thiết kế đƣợc tích hợp hai cổng FSMC cổng SPI Trong đó, cổng FSMC đƣợc  Bƣớc 2: Tạo ảnh phù hợp cho môi dùng để đọc chip Flash hãng Eon cổng SPI trƣờng mô đầy đủ hoạt động đƣợc sử dụng cho chip Flash hãng thiết bị định tuyến với công cụ C500- Winbond, Fidelix Macronix Vi điều khiển Standardization đƣợc sử dụng thiết bị trích xuất vi điều khiển dòng STM32F10 Vi điều khiển  Bƣớc 3: Phân tích hành vi thu nhận hỗ trợ giao tiếp với chip Flash thông qua đƣợc để phát hành vi bất thƣờng, từ SPI FSMC đƣa cảnh báo có mã độc hay khơng firmware thiết bị định tuyến với công Hình Hoạt động thiết bị C500-Extractor cụ C500-Detector Để tiến hành q trình trích xuất, chip Flash A Cơng cụ C500-Extractor cần đƣợc trích xuất đƣợc đặt khay đọc chip tƣơng ứng thiết bị C500-Extractor nhƣ Việc trích xuất firmware đƣợc thực Hình Sau đó, thiết bị trích xuất đọc ID code dòng thiết bị định tuyến SOHO (Small Office chip Flash để xác định chip đƣợc đặt vào – Home Office) thông qua số phƣơng pháp loại chip điều chỉnh thông số phù hợp nhƣ sử dụng chức backup thiết bị, sử phục vụ cho trình đọc liệu Tất liệu dụng cổng điều khiển nối tiếp (Serial) hay kênh chip Flash đƣợc đọc lƣu vào tệp có kiểm tra lỗi (Debug Jtag) Tuy nhiên, đuôi bin lƣu thẻ nhớ nằm thiết bị vài trƣờng hợp, phƣơng pháp trích xuất trích xuất Sau q trình trích xuất kết thúc, khơng đạt đƣợc hiệu nhƣ mong muốn Nguyên nhân nhà sản xuất khóa cổng bảng mạch không cho phép ngƣời dùng can thiệp vào thiết bị hãng Trong trƣờng hợp này, việc trích xuất trực tiếp liệu firmware từ thiết bị cần thiết, mục tiêu mà thiết bị trích xuất C500-extractor hƣớng tới C500-extractor đƣợc thiết kế để lấy liệu từ chip Flash chứa firmware nằm bảng mạch thiết bị định tuyến Phiên mẫu đƣợc thiết kế chế tạo có khả lấy liệu từ kiểu chip Flash dòng thiết bị định tuyến phổ biến TP-Link Linksys, bao gồm: W25Q32FV, W25Q64FV, W25Q128FV (hãng Winbond); 44 Số 1.CS (05) 2017 Nghiên cứu Khoa học Cơng nghệ lĩnh vực An tồn thơng tin tệp nhị phân đƣợc chuyển vào máy tính ngữ Python Bằng công cụ Binwalk, Costin thông qua kết nối cáp micro USB Dữ liệu tệp cộng [13] thử nghiệm phân tích nhị phân thƣờng bao gồm thơng số tĩnh firmware thiết bị định NVRAM, vmlinux, bootloader rootfs Sau tuyến Theo kết thử nghiệm, nhóm tác tệp nhị phân đƣợc lấy ra, chúng đƣợc giả Binwalk nhận lƣu trữ vào sở liệu phục vụ cho quy dạng đƣợc số firmware lƣu dƣới dạng trình tệp nhị phân, dẫn đến tỷ lệ dƣơng tính giả cao tìm thấy dấu hiệu B Cơng cụ C500-Standardization (signal) dấu hiệu bị thay đổi sử dụng đối sánh tập tin magic [8] Đặc Sau trích xuất đƣợc firmware từ thiết bị biệt, tỷ lệ cao dịng định tuyến, việc chuẩn hóa firmware mà không thiết bị Cisco liệu nén kiểu gzip làm thay đổi hoạt động thiết bị định tuyến Nói cách khác, hạn chế Binwalk khơng đƣợc hồn thành thơng qua hai bƣớc sau: thể xác định đƣợc loại firmware Integrated hay Partial updates  Bóc tách firmware xác định kiến trúc  Extracter Firmadyne: công cụ đƣợc phần cứng để bổ sung cơng cụ thích hợp Daming D.Chen đồng [8] sử dụng, công cụ C500-Reverse làm mịn chức có Binwalk Tuy nhiên, khả dịch ngƣợc  Bổ sung thêm công cụ theo dõi lời gọi hệ Firmadyne hạn chế tỉ lệ thống (system-call), hành vi mạng thành công chiếm gần 33% công cụ C500-Addition Để cải thiện tồn trên, môđun C500- Reverse đề xuất hội thảo SOIS 2016 [14] C500-Reverse đƣợc xây dựng dựa mục cho thấy có tỉ lệ bóc tách tốt Lý kết tiêu xác định kiến trúc phần cứng, giải nén mã C500-Reverse có nhiều mơđun để dịch nguồn nhị phân firmware thành tập tin hệ ngƣợc firmware theo kiểu tập tin hệ thống thống tƣờng minh xác định phiên nhân khác nhƣ squashfs, cramfs, jefferson, Linux Sau đó, q trình bóc tách firmware từ tệp yaffs,… chiếm tới 97% tập thử nghiệm bao tin bin đƣợc thực để thu tập tin hệ thống gồm 13275 firmware Các kiểu tập tin hệ thống công cụ C500-Reverse Trên thực tế, có sẵ phổ biến đƣợc trình bày Hình cơng cụ cho việc bóc tách firmware, kể đến nhƣ: Hình Các kiểu tập tin hệ thống phổ biến [14]  Firmware-mod-kit (FMK) [11]: tập Hình Các tập tin hệ thống firmware câu lệnh dƣới dạng kịch (script) công cụ tích hợp nhằm mục đích dịch Số 1.CS (05) 2017 45 ngƣợc đóng gói firmware có tảng hệ điều hành Linux FMK chứa tập phiên khác công cụ unsquashfs, sau dùng FMK để xác định điểm offset nhƣ phiên nén phần nhân chứa tập tin hệ thống, FMK thử lần lƣợt phiên khác có cơng cụ unsquashfs để dịch ngƣợc Phƣơng pháp có số điểm yếu, đáng ý việc dịch ngƣợc công cụ unsquashfs định chƣa chắn phiên chuẩn dùng biên dịch squashfs Việc dễ xảy nhà sản xuất thực việc thay đổi nội dung phần Header tập tin  Binwalk [12]: cơng cụ dùng để phân tích, dịch ngƣợc giải nén liệu chứa ảnh firmware Binwalk đƣợc sử dụng phổ biến dễ dàng tƣơng thích với cơng cụ phân tích mã độc khác đƣợc viết chủ yếu ngôn Journal of Science and Technology on Information security Hơn nữa, C500-Reverse đƣợc xây dựng theo Theo kết nghiên cứu Landley [15] tùy môđun riêng cho phép việc cập nhật thƣờng biến với phiên Busybox khác nhau, chúng xuyên [14] Các đặc trƣng phƣơng pháp dịch tơi tùy chỉnh để có thêm nhiều chức ngƣợc, sai số dịch ngƣợc kiểm chứng dịch mà không làm thay đổi hay ảnh hƣởng đến ngƣợc đƣợc trình bày cụ thể báo hoạt động thiết bị định tuyến Đối với “Phát triển công cụ dịch ngƣợc firmware thiết firmware, phiên Busybox thích hợp với bị định tuyến” [14] Một ví dụ tập tin hệ đầy đủ chức đƣợc thay cho Busybox thống firmware Netgear WNAP320 version vốn có firmware tìm thấy thƣ mục bin 2.0.3 sau dịch ngƣợc C500-Reverse đƣợc Một Busybox đầy đủ cơng cụ đƣợc thể trình bày Hình Hình Bên cạnh thƣ mục thƣờng thấy Tiếp theo, việc xác định thƣ viện hệ điều hành Linux nhƣ bin, dev, etc, thƣ thiếu tích hợp công cụ giám sát vào mục chứa giao diện web thiết bị định tuyến firmware cần thiết Chúng chọn Strace đƣợc tìm thấy thƣ mục www, cli thƣ mục [16] để theo dõi lời gọi hệ thống Tcpdump home Ở giai đoạn này, việc xác định thành [17] để theo dõi hành vi mạng Strace cơng phần cịn thiếu firmware để mô đầy đủ cụ cho phép ngƣời dùng giám sát tƣơng tác giao diện web hệ điều hành quan trọng tiến trình nhân Linux bao gồm lời Để mô giao diện web, Firmadyne [8] gọi hệ thống, phân phối tín hiệu thay đổi trình bày chi tiết trình cách sử dụng trạng thái tiến trình Tcpdump cơng cụ phân công cụ quét để phát lỗ hổng Dƣới đây, tích gói liệu mạng, cho phép chặn bắt giới thiệu cách để mô hệ điều hiển thị gói tin đƣợc truyền, nhận mạng hành để phát mã độc dựa lời gọi hệ mà kết nối đến thống (System-calls) hoạt động mạng Công cụ C500-Addition xác định thƣ Trên thực tế, để giảm kích thƣớc firmware viện thiếu để phục vụ cho việc cài đặt Strace thiết bị định tuyến xuống dƣới Mb, nhà cung Tcpdump Để dễ dàng hơn, sử dụng cấp tùy chỉnh firmware cách loại bỏ QEMU [18] để mô firmware trƣớc tiên phần “không cần thiết” Vì vậy, Busybox đƣợc sử sau bổ sung thƣ viện thiếu Ở giai dụng rộng rãi hệ thống nhúng tích đoạn này, QEMU đòi hỏi tập giá trị cấu hợp phiên nhỏ nhiều tiện ích phổ biến hình mặc định thiết bị ngoại vi lƣu cấu UNIX [15] Tuy nhiên, để đảm bảo nhỏ hình liên tục vào NVRAM Tuy nhiên, gọn nên Busybox khơng đƣợc tích hợp cơng giá trị đơi khơng có liệu đƣợc cụ để theo dõi lời gọi hệ thống theo dõi trích xuất từ Flash, số nhà cung cấp lƣu trữ hoạt động mạng sẵn thành phần khác thiết bị Để giải vấn đề này, giải pháp thay Hình Busybox với đầy đủ chức đƣợc đề xuất sử dụng thƣ viện libnvram.so nhƣ Firmadyne làm Thƣ viện bao gồm thiết lập cấu hình giao diện web nhƣ cài đặt mạng wifi, địa MAC xác thực truy cập cho giao diện web Bằng cách sử dụng thƣ viện này, Firmadyne mô thành công 52,6% tổng số firmware đƣợc bóc tách (4992 số 9486 firmware đƣợc kiểm tra) [8] Sau đó, C500-Addition bắt đầu mơ firmware bổ sung tất thƣ viện thiếu Nhờ vào việc thay đổi Busybox với đầy đủ chức năng, chúng tơi cài đặt đƣợc Strace Tcpdump để thực theo dõi hệ thống Công cụ Strace chạy ổn định phiên nhân Linux 3.2.x, phiên nhân Linux 2.6.x đƣợc tùy chỉnh Firmadyne lại chƣa hỗ trợ 46 Số 1.CS (05) 2017 Nghiên cứu Khoa học Cơng nghệ lĩnh vực An tồn thơng tin Hình Kết quét với Metasploit Với gần 86% thiết bị định tuyến sử dụng nhân Trong đó, có lây nhiễm mã Linux 2.6.x [1], nhóm nghiên cứu phải tùy chỉnh độc Linux/Mirai cịn lại khơng nhân Linux 2.6.x để cơng cụ Strace Tcpdump chạy nhằm phục vụ cho việc thu  Thực bƣớc đƣợc trình bày Mục thập thông tin phát mã độc thiết bị định III để chuẩn hóa hai firmware tuyến  Tiến hành thực thi hai firmware C Công cụ C500-Detector môi trƣờng mô đầy đủ thực trình giám sát, phân tích: Sử dụng Cơng cụ đƣợc xây dựng dựa kiểm tra Metasploit quét hai firmware hành vi tƣơng tác mã độc với thiết bị theo mơ để kiểm tra liệu có thêm lỗ hổng thời gian thực Các quy tắc phát dựa tập suốt trình Linux/Mirai thực hành vi bất thƣờng mà mã độc tƣơng tác với thi hay không; Sử dụng Tcpdump để giám tập tin hệ thống, mạng tiến trình sát hành vi mạng hai firmware; Chúng phân tích thơng tin đƣợc thu thập Sử dụng Strace quét firmware bị nhiễm mã công cụ Strace để xác định hành vi bất độc để ghi lại hành vi thể dƣới thƣờng việc tạo, xóa tập tin mà khơng có dạng gọi hệ thống quyền ngƣời sử dụng; công cụ Tcpdump giám sát hành vi lắng nghe, mở quét cổng  Dựa kết thu đƣợc từ Metasploit, trái phép; kết nối đến IP danh sách nghi vấn Tcpdump Strace, C500-Detector phát Kết thu đƣợc từ môđun C500-Detector đƣợc hành vi bất thƣờng có trình bày phần kết thực nghiệm suốt q trình mơ firmware, từ định xem có tồn mã độc IV KẾT QUẢ THỰC NGHIỆM firmware hay khơng Trong phần này, nhóm tác giả trình bày kết Sau mơ thành công hai firmware, thực nghiệm mà công cụ C500-toolkit kết thu đƣợc nhƣ sau: giám sát mã độc Linux/Mirai thực thi thiết bị định tuyến Mã độc Linux/Mirai đƣợc tải từ mã Đối với công cụ Metasploit, kết thu đƣợc nguồn công bố Internet [19] Mã độc lây lỗ hổng giống hai nhiễm hàng loạt thiết bị IoT, biến chúng trở thành firmware, có mã là: CVE-2016-1555 Kết mạng botnet để thực công DDoS Sự kiện đồng nghĩa với việc không xuất thêm lỗ đƣợc đánh giá công từ chối dịch hổng suốt trình Linux/Mirai thực vụ lớn từ trƣớc đến (MD5: thi Kết quét với Metasploit đƣợc trình bày 8e36a1fb6f6f718ec0b621a639437d8b) Kịch Hình Đây đóng góp mơi thử nghiệm nhƣ sau: trƣờng mô đầy đủ đề xuất mà sử dụng Firmadyne phát mã độc  Hai firmware Netgear thiết bị định tuyến WNAP320 đƣợc sử dụng để thực mô Số 1.CS (05) 2017 47 Journal of Science and Technology on Information security Đối với công cụ Tcpdump, thông tin giám sát sin_port=htons(53), hành vi mạng thu đƣợc giống Kết sin_addr=inet_addr("8.8.8.8")}, 16) cho thấy, điểm hạn chế phƣơng pháp mô đề xuất chƣa giám sát đƣợc hoàn Ở giai đoạn này, thông tin chƣa có khác tồn hành vi mạng mã độc Kết giám thƣờng, nhiên tiếp tục thấy Linux/Mirai sát đƣợc trình bày Hình mở cổng TCP ngẫu nhiên (48178) dựa socket PF_INET trƣớc tới địa cụ thể Đối với công cụ Strace, thơng tin thu đƣợc có 192.168.0.150: nhiều điểm nghi vấn Đối với firmware có chứa Linux/Mirai, tiến trình đƣợc tạo getsockname(3, {sa_family=AF_INET, đƣợc thể Hình 10 (hai tiến trình có PID sin_port=htons(43847), 537 538) Trƣớc phân tích chi tiết hai tiến trình 537 538, phân tích sơ ban đầu sin_addr=inet_addr("192.168.0.150") dùng Strace giám sát thông tin tƣơng tác }, [14]) Linux/Mirai Kernel phát hành vi mở tập tin /dev/watchdog trạng thái cho phép đọc Mặc dù thông tin chƣa đầy đủ để ghi dòng đầu tiên: xác định việc mở cổng hậu (backdoor) thay đổi tập tin hệ thống bị nhiễm mã độc open("/dev/watchdog", O_RDWR) nhƣng thực thể số hành vi: sửa đổi tập tin watchdog, mở cổng TCP đến địa Sau đó, socket PF_INET cho giao thức TCP IP cụ thể, lắng nghe kết nối từ bên đƣợc mở thông qua cổng đặc biệt (53) để kết Để khẳng định xác hành vi nối với máy chủ DNS Google (8.8.8.8): mã độc này, kết thu đƣợc từ hai tiến trình 537 538 với Strace nhƣ sau: socket(PF_INET, SOCK_DGRAM, IPPROTO_IP)  Với tiến trình 537: dễ dàng thấy đƣợc hành vi backdoor kết nối với IP connect(3, {sa_family=AF_INET, 65.222.202.53 thông qua HTTP cổng 80 Chi tiết đƣợc trình bày Hình 12 Hình Kết giám sát công cụ Tcpdump Hình 10: Kết phân tích sơ với strace 48 Số 1.CS (05) 2017 Nghiên cứu Khoa học Công nghệ lĩnh vực An tồn thơng tin Hình 11: Các tiến trình trƣớc sau Linux/Mirai thực thi Hình 12 Linux/Mirai kết nối với IP 65.222.202.53 qua cổng 80 Hình 13 Linux/Mirai quét cổng telnet để tự động lây nhiễm Số 1.CS (05) 2017 49 Journal of Science and Technology on Information security  Tiến trình 538 có chức qt cổng TÀI LIỆU THAM KHẢO telnet (cổng 23) từ địa IP khác nhƣ 189.34.200.158 153.55.105.31,… Chức [1] A Costin, J Zaddach, A Francillon, and D phục vụ cho mục đích tự động lây Balzarotti, “A Large-Scale Analysis of the lan sang thiết bị khác mã độc Security of Embedded Firmwares”, USENIX Chi tiết đƣợc trình bày Hình 13 Security, pp 95-110, 2014 Đến đây, chúng tơi khẳng định, mẫu [2] C Kruegel and Y Shoshitaishvili, “Using Static mã độc có hành vi bất thƣờng nhƣ mở Binary Analysis To Find Vulnerabilities And cổng hậu kết nối với IP 65.222.202.53 quét Backdoors In Firmware”, Black Hat USA, 2015 cổng telnet để phục vụ cho mục đích lây nhiễm mã độc [3] D Davidson, B Moench, S Jha, and T Ristenpart, “FIE on Firmware, Finding vulnerabilities in VI KẾT LUẬN embedded systems using symbolic execution”, USENIX Security, 2013 Bộ công cụ C500-toolkit thực quy trình mơ đầy đủ nhằm thu thập, phân tích phát [4] T Ronghua, “An Integrated Malware Detection mã độc thiết bị định tuyến Quy and Classification System”, No Ph D Deakin trình cho phép chạy firmware thiết bị định University, 2011 tuyến môi trƣờng mô giám sát hành vi firmware Từ thông tin thu [5] A Moser, C Kruegel, and E Kirda, “Limits of thập đƣợc, xác định đƣợc hành vi bất Static Analysis for Malware Detection”, Computer thƣờng mã độc lây nhiễm firmware security applications conference, pp 421-430, thiết bị định tuyến cách nhanh chóng mà 2007 khơng cần tới thiết bị thật Với ƣu sử dụng môi trƣờng mô để chạy firmware nhiều [6] K Rieck, T Holz, C Willems, P Düssel, and P dòng thiết bị định tuyến khác mà không phụ Laskov, “Learning and Classification of Malware thuộc vào phần cứng thật, công cụ C500-toolkit Behavior” Springer Berlin Heidelberg, pp 108- có khả phân tích diện rộng với nhiều dịng 125, 2008 thiết bị định tuyến khác [7] J Zaddach, L Bruno, A Francillon, and D Do tập luật mà nhóm tác giả sử dụng để phát Balzarotti, Avatar: “A Framework to Support mã độc thiết bị định tuyến cịn ít, Dynamic Security Analysis of Embedded chƣa thể phát đƣợc xác mã độc Systems Firmwares”, NDSS 2014 số trƣờng hợp Trong tƣơng lai gần, nhóm tác giả bổ sung tập hành vi bất thƣờng, kết hợp [8] D Chen, M Egele, M Woo, and D Brumley, với kỹ thuật học máy áp dụng vào nghiên cứu “Towards Automated Dynamic Analysis for liệu thu thập đƣợc từ công cụ C500-toolkit Linux-based Embedded Firmware”, ISOC để phát triển công cụ đầy đủ để tự động xác định Network and Distributed System Security mã độc xuất firmware thiết bị định Symposium (NDSS), 2016 tuyến Bên cạnh đó, nhóm tác giả cải tiến C500- toolkit để nâng cao khả trích xuất, ảo hóa [9] L Frédéric, “An introduction to I C and SPI thiết bị phần cứng nhằm giúp cho môi trƣờng mô protocols”, IEEE Instrum Meas Mag, vol 12, pp đầy đủ hơn, mô firmware 8–13, 2009 nhiều dòng thiết bị định tuyến, áp dụng cho nhiều loại CPU (ARM, PowerPC,…) nhằm phát [10] E Volpi, F Sechi, and T Cecchini, “System loại mã độc xuất thiết bị study for a head-up display based on a flexible định tuyến tƣơng lai gần sensor interface”, Sensors and Microsystems, Springer Netherlands, pp 413–417, 2010 [11] Firmware mod kit [Online] https://code.google.com/archive/p/firmware-mod- kit/ [12] Binwalk [Online] http://binwalk.org [13] J Zaddach and A Costin, “Embedded Devices Security and Firmware Reverse Engineering”, Black-Hat USA, 2013 [14] T N Phú, N H Trung, and N Q Dũng, “Phát triển công cụ dịch ngƣợc firmware thiết bị định tuyến”, SOIS, 2016 [15] https://www.busybox.net [16] https://strace.io 50 Số 1.CS (05) 2017 Nghiên cứu Khoa học Cơng nghệ lĩnh vực An tồn thông tin [17] F Fuentes and C Kar, “Ethereal vs Tcpdump: a CN Trần Hoàng Anh comparative study on packet sniffing tools for educational purpose”, J Comput Sci Coll Đơn vị công tác: Học viện An ninh Consort Comput Sci Coll USA, Apr 2005 nhân dân, Bộ Công An [18] F Bellard, “QEMU, a fast and portable dynamic Email : anhthk55@gmail.com translator”, USENIX Annual Technical Conference, FREENIX Track, pp 41-46, 2005 Quá trình đào tạo: Nhận cử nhân ĐTVT Đại học Công nghệ [19] Linux/Mirai [Online] http://www.malwaremustdie.org - Đại học Quốc gia Hà Nội SƠ LƢỢC VỀ TÁC GIẢ Hƣớng nghiên cứu nay: xây dựng hệ thống trích xuất, phân tích liệu từ thiết bị nhớ hệ thống nhúng TS Ngô Quốc Dũng Lê Văn Hoàng Đơn vị công tác: Học viện An ninh Đơn vị công tác: Học viện An ninh nhân dân, Bộ Công An nhân dân, Bộ Công An Email: levanhoang.psa@gmail.com Email : quocdung.ngo@gmail.com Quá trình đào tạo: Sinh viên Khoa Quá trình đào tạo: Nhận Kỹ sƣ Cơng nghệ An tồn thơng tin, Đại học Bách Khoa Nantes; Học viện An ninh nhân dân Nhận Thạc sỹ Đại học Bách Khoa Nantes Đại học Lyon 2; Bảo vệ Tiến sỹ Hƣớng nghiên cứu nay: phân Đại học Bách khoa Grenoble, Cộng Hòa Pháp tích phát mã độc hệ điều hành Linux ứng dụng cho thiết bị nhúng Hƣớng nghiên cứu nay: Đảm bảo an tồn, an ninh thơng tin thiết bị IoT Nguyễn Việt Anh Đơn vị công tác: Học viện An ninh ThS Lê Hải Việt nhân dân, Bộ Công An Đơn vị công tác: Học viện An ninh Email : vietanhnguyen142857@gmail.com nhân dân, Bộ Công An Quá trình đào tạo : Sinh viên Khoa Email: vietlhsa@gmail.com Cơng nghệ An tồn thơng tin, Học viện An ninh nhân dân Quá trình đào tạo: Nhận Kỹ sƣ Thạc sỹ Đại học tổng Hƣớng nghiên cứu nay: phân hợp kỹ thuật quốc gia Irkutsk, Liên tích phát mã độc hệ điều hành Linux ứng bang Nga Đang nghiên cứu sinh dụng cho thiết bị nhúng Khoa CNTT – Học viện Khoa học Công nghệ, Viện Hàn lâm khoa học Việt Nam Hƣớng nghiên cứu nay: phân tích phát mã độc thiết bị IoT ứng dụng Số 1.CS (05) 2017 51

Ngày đăng: 28/02/2024, 02:03

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan