Ngày nay, phát tán mã độc dã thực sự trở thành một ngành “công nghiệp” trong các hoạt động gián điệp và phá hoạt hệ thống, phần mềm hiện nay. Theo thống kê từ các cơ quan, tổ chức, doanh nghiệp chuyên về An ninh, an toàn thông tin, hoạt động phát tán mã độc không chỉ tổn hại ở những phát triển mà ngay tại các nước đang phát triển như Việt Nam cũng trở thành mảnh đất màu mỡ cho các hacker tấn công. Mã độc được phát tán tại hầu hết các cơ quan quan trọng từ các cơ quan Chính phủ tới các cơ quan tài chính như ngân hàng, viện nghên cứu, trường đại học,… Các phần mềm, ứng dụng chứa mã độc được tồn tại dưới rất nhiều hình thức và có khả năng lây lan vô cùng lớn. Không dừng lại ở đó, mã độc hiện nay đã lây lan đa nền tảng và hiện tại không chỉ giới hạn ở máy tính cá nhân mà còn lây lan sang các thiết bị thông minh như smartphone. Với tốc độ phát triển của nên kinh tế, hiện nay hầu hết mọi cá nhân đều sở hữu một thist bị thông minh (smartphone) vì vậy môi trường hoạt động dnahf cho mã độc ngày càng được lan rộng cà thiệt hại chúng gây ra cho chúng ta vô cùng lớn. Theo thống kê của Trung tâm ứng cứu khẩn cấp máy tính Việt Nam (VNCERT) sự cố tấn công về mã độc đang có chiều hướng gia tăng với thủ đoạn ngày càng tinh vi. Nhằm góp phần để hiểu rõ về hoạt động hành vi của mã độc cũng như tác hại của viêc phát tán mã độc trên hệ thống, các thiết bị thông minh,… Đề tài đã tìm hiểu về “Triển khai hệ thống phân tích mã độc trền nền hệ điều hành android”.
Trang 1HỮU NGHỊ VIỆT - HÀN
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO THỰC TẬP TỐT NGHIỆP
TÊN ĐỀ TÀI TRIỂN KHAI HỆ THỐNG PHÂN TÍCH MÃ ĐỘC TRỀN NỀN
HỆ ĐIỀU HÀNH ANDROID
Người hường dẫn : Th.s Trần Phương Nam Sinh viên thực hiện : Trần Thị Hà Giang
Đơn vị thực tập : Trung tâm ứng cứu khẩn cấp
máy tính Việt Nam chi nhánh
Đà Nẵng
Đà Nẵng, tháng 4 năm 2016
Trang 2MỤC LỤC
MỤC LỤC 2
DANH MỤC HÌNH VẼ 4
LỜI CẢM ƠN 5
LỜI NÓI ĐẦU 6
CHƯƠNG I GIỚI THIỆU VỀ TRUNG TÂM ỨNG CỨU KHẨN CẤP MÁY TÍNH VIỆT NAM 7
1.1 GIỚI THIỆU VỀ TRUNG TÂM ỨNG CỨU KHẨN CẤP MÁY TÍNH VIỆT NAM(VNCERT) 7
1.1.1 Quá trình hình thành và phát triển của VNCERT 7
1.1.2 Cơ cấu tổ chức 7
Hình 1.1 Mô hình tổ chức Trung tâm VNCERT 8
1.1.3 Nhiệm vụ và quyền hạn 8
1.1.4 Giới Thiệu Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam (VNCERT) – Chi Nhánh Đà Nẵng 10
1.2 GIỚI THIỆU ĐỀ TÀI 10
1.2.1 Bối cảnh thực hiện đề tài 10
1.2.2 Mục đích thực hiện đề tài 11
CHƯƠNG II TRIỂN KHAI HỆ THỐNG PHÂN TÍCH MÃ ĐỘC TRỀN NỀN HỆ ĐIỀU HÀNH ANDROID 12
2.1 GIỚI THIỆU HĐH ANDROID – PYTHON - VIRTUALBOX 12
2.1.1 Giới thiệu hệ điều hành Android 12
2.1.2 Giới thiệu Python 12
2.1.3 Giới thiệu máy ảo Oracle VM VirtualBox 13
2.2 GIỚI THIỆU VỀ QUÁ TRÌNH PHÂN TÍCH MÃ ĐỘC 14
2.2.1 Quy trình phân tích bề mặt 16
Hình 2.1 Giao diện phân tích bề mặt 16
2.2.2 Quy trình phân tích động 17
Hình 2.2 Quy trình phân tích động 17
2.3 GIỚI THIỆU VỀ MOBSF 18
2.4 QUY TRÌNH TRIỂN KHAI HỆ THỐNG MOBSF 18
2.4.1 Các yêu cầu 18
2.4.2 Cài đặt MobSF Python 18
Hình 2.3 Chọn tập tin MobSF_VM_X.X.ova và tiến hành cài đặt 19
Hình 2.4 Cấu hình card mạng Adapter 1 20
Hình 2.5 Cấu hình card mạng Adapter 2 20
Hình 2.7 Khởi động máy ảo MobSF VM 21
Hình 2.8 Giao diện của máy ảo MobSF 21
Hình 2.9 Giao diện cấu hình wifi trong MobSF VM 22
Trang 3Hình 2.10 Lưu bản chụp của MobSF VM 23
Hình 2.11 Tiến hành mở bản sau khi chụp tại Show in Explorer 23
CHƯƠNG III KẾT QUẢ VÀ KIẾN NGHỊ 24
3.1 KẾT QUẢ CHẠY THỬ HỆ THỐNG 24
3.1.1 Kết quả chạy phân tích bề mặt 24
Hình 3.1 Hình ảnh thông tin mã độc 24
Hình 3.2 Những quyền hạn của file mã độc 25
Hình 3.3 Những quyền hạn của file mã độc (tiếp) 25
Hình 3.3 Biểu hiện kết quả phân tích 28
Hình 3.4 Hình ảnh phân tích mã 30
Hình 3.5 Hình ảnh thăm dò hoạt động của mã độc 32
Hình 3.6 Hình ảnh chuỗi tự động được kích hoạt 33
3.1.2 Kết quả sau khi phân tích động 33
Hình 3.7 Giao diện quá trình phân tích động 33
Hình 3.8 Thông tin về file được phân tích 34
Hình 3.9 Hiển thị cuộc gọi mạng và các cuộc gọi liên kết 34
Hình 3.10 Nội dung của Cryto 35
Hình 3.11 Hiển thị thông tin thiết bị - Base - Content 35
Hình 3.12 Hiển thị thông tin dữ liệu 36
Hình 3.13 Hiển thị thông tin Reflection 37
Hình 3.14 Quá trình Activity Tester khi đang tải 37
Hình 3.15 Quá trình screenshots màn hình 38
Hình 3.16 Hiển thị HTTP(s) Traffic – URLs – Emails 38
Hình 3.17 Hiển thị cơ sở dữ liệu SQLite – XML files 38
Hình 3.18 Hiển thị một số Other files 39
3.3 KIẾN LUẬN VÀ KIẾN NGHỊ 39
3.3.1 Kết luận 39
3.3.2 Kiến nghị 40
TÀI LIỆU THAM KHẢO 41
Trang 4DANH MỤC HÌNH VẼ
Hình 1.1 Mô hình tổ chức Trung tâm VNCERT 8
Hình 2.1 Giao diện phân tích bề mặt 16
Hình 2.2 Quy trình phân tích động 17
Hình 2.3 Chọn tập tin MobSF_VM_X.X.ova và tiến hành cài đặt 19
Hình 2.4 Cấu hình card mạng Adapter 1 20
Hình 2.5 Cấu hình card mạng Adapter 2 20
Hình 2.7 Khởi động máy ảo MobSF VM 21
Hình 2.8 Giao diện của máy ảo MobSF 21
Hình 2.9 Giao diện cấu hình wifi trong MobSF VM 22
Hình 2.10 Lưu bản chụp của MobSF VM 23
Hình 2.11 Tiến hành mở bản sau khi chụp tại Show in Explorer 23
Hình 3.1 Hình ảnh thông tin mã độc 24
Hình 3.2 Những quyền hạn của file mã độc 25
Hình 3.3 Những quyền hạn của file mã độc (tiếp) 25
Hình 3.3 Biểu hiện kết quả phân tích 28
Hình 3.4 Hình ảnh phân tích mã 30
Hình 3.5 Hình ảnh thăm dò hoạt động của mã độc 32
Hình 3.6 Hình ảnh chuỗi tự động được kích hoạt 33
Hình 3.7 Giao diện quá trình phân tích động 33
Hình 3.8 Thông tin về file được phân tích 34
Hình 3.9 Hiển thị cuộc gọi mạng và các cuộc gọi liên kết 34
Hình 3.10 Nội dung của Cryto 35
Hình 3.11 Hiển thị thông tin thiết bị - Base - Content 35
Hình 3.12 Hiển thị thông tin dữ liệu 36
Hình 3.13 Hiển thị thông tin Reflection 37
Hình 3.14 Quá trình Activity Tester khi đang tải 37
Hình 3.15 Quá trình screenshots màn hình 38
Hình 3.16 Hiển thị HTTP(s) Traffic – URLs – Emails 38
Hình 3.17 Hiển thị cơ sở dữ liệu SQLite – XML files 38
Hình 3.18 Hiển thị một số Other files 39
Trang 5LỜI CẢM ƠN
Kỳ thực tâp tốt nghiệp là một khoảng thời gian để cho sinh viên bắt đầu làm quenvới tác phong làm việc ở môi trường thực tế Đối với sinh viên, đây là một giai đoạnchuyển giao giữa những kiến thức được đào tạo tại nhà trường và thực tế ngoài doanhnghiệp, để có thể áp dụng những gì đã học và tìm kiếm cho mình một công việc phùhợp với năng lực Còn đối với các doanh nghiệp, đây có thể được xem là giai đoạn màcác doanh nghiệp có nhu cầu tuyển chọn nhân sự cho công ty trong tương lai có thểxem xét, đánh giá, và tuyển chọn những sinh viên phù hợp với nhu cầu phát triển củacông ty
Qua quá trình tìm hiểu cùng với sự giới thiệu của nhà trường Trường Cao Đẳng
Công nghệ Thông Tin hữu nghị Việt – Hàn, em đã được nhận vào thực tập tại Trung tâm ứng cứu khẩn cấp máy tính Việt Nam chi nhánh Đà Nẵng trong khoảng
thời gian từ ngày 21/03/2016 đến ngày 22/04/2016, với đề tài:
“Triển khai hệ thống phân tích mã độc trền nền hệ điều hành android”
Trong khoảng thời gian thực tập tại trung tâm, em đã có cơ hội được tiếp xúc vớimôi trường làm việc trong thực tế, bổ sung thêm các kiến thức khi học trên trường,được gặp gỡ và học hỏi kinh nghiệm làm việc của các cán bộ quản lý, các nhân viêntrong trung tâm, đã phần nào giúp em có được kinh nghiệm làm việc cho bản thân saunày
Em xin chân thành cảm ơn các anh chị tại Trung tâm ứng cứu khẩn cấp máy
tính Việt Nam chi nhánh Đà Nẵng đã tận tình giúp đỡ, chỉ dẫn em trong suốt quá
trình thực tập tại trung tâm, đồng thời em xin gửi lời cảm ơn đến anh Th.S TrầnPhương Nam – Người hướng dẫn thực tập tại Trung Tâm đã giúp đỡ để em có thể hoànthành việc nghiên cứu trong đợt thực tập Cùng Thầy Th.S Lê Tự Thanh – Giảng viênhướng dẫn thực tập đã quan tâm, hướng dẫn giúp em hoàn thành tốt đợt thực tập này
Em xin chân thành cảm ơn
Đà Nẵng, ngày 22/04/2016Sinh viên thực hiện
Trần Bình Dương
Trang 6LỜI NÓI ĐẦU
Ngày nay, phát tán mã độc dã thực sự trở thành một ngành “công nghiệp” trongcác hoạt động gián điệp và phá hoạt hệ thống, phần mềm hiện nay Theo thống kê từcác cơ quan, tổ chức, doanh nghiệp chuyên về An ninh, an toàn thông tin, hoạt độngphát tán mã độc không chỉ tổn hại ở những phát triển mà ngay tại các nước đang pháttriển như Việt Nam cũng trở thành mảnh đất màu mỡ cho các hacker tấn công Mã độcđược phát tán tại hầu hết các cơ quan quan trọng từ các cơ quan Chính phủ tới các cơquan tài chính như ngân hàng, viện nghên cứu, trường đại học,… Các phần mềm, ứngdụng chứa mã độc được tồn tại dưới rất nhiều hình thức và có khả năng lây lan vôcùng lớn
Không dừng lại ở đó, mã độc hiện nay đã lây lan đa nền tảng và hiện tại không chỉgiới hạn ở máy tính cá nhân mà còn lây lan sang các thiết bị thông minh nhưsmartphone Với tốc độ phát triển của nên kinh tế, hiện nay hầu hết mọi cá nhân đều sởhữu một thist bị thông minh (smartphone) vì vậy môi trường hoạt động dnahf cho mãđộc ngày càng được lan rộng cà thiệt hại chúng gây ra cho chúng ta vô cùng lớn Theo
thống kê của Trung tâm ứng cứu khẩn cấp máy tính Việt Nam (VNCERT) sự cố
tấn công về mã độc đang có chiều hướng gia tăng với thủ đoạn ngày càng tinh vi.Nhằm góp phần để hiểu rõ về hoạt động hành vi của mã độc cũng như tác hại củaviêc phát tán mã độc trên hệ thống, các thiết bị thông minh,… Đề tài đã tìm hiểu về
“Triển khai hệ thống phân tích mã độc trền nền hệ điều hành android”
Mục tiêu của đề tài gồm các nội dung chính :
o Tìm hiểu tổng quan về mã độc, cách thức hoạt động , các hành vi của mãđộc
o Nghiên cứu về kỹ thuật và các phương pháp phân tích mã độc Các phươngpháp phân tích bề mặt, phương pháp phân tích động… Bên cạnh đó nghiêncứu về các môi trường và những công cụ phân tích mã độc
Trang 7CHƯƠNG I GIỚI THIỆU VỀ TRUNG TÂM ỨNG CỨU KHẨN CẤP
MÁY TÍNH VIỆT NAM
1.1 GIỚI THIỆU VỀ TRUNG TÂM ỨNG CỨU KHẨN CẤP MÁY TÍNH VIỆT NAM(VNCERT)
1.1.1 Quá trình hình thành và phát triển của VNCERT.
Được thành lập theo Quyết định 339/2005 ngày 20 tháng 12 năm 2005 của Thủtướng Chính phủ, Trung tâm Ứng cứu khẩn cấp Máy tính Việt Nam (VietnamComputer Emergency Response Team – VNCERT) Là đơn vị trực thuộc Bộ ThôngTin – Truyền Thông thực hiện chức năng điều phối và tổ chức các hoạt động phản ứngnhanh các sự cố máy tính cho mạng Internet Việt Nam
Trung tâm VNCERT là đơn vị sự nghiệp công lập, có tư cách pháp nhân, có condấu và tài khoản riêng để giao dịch theo quy định của pháp luật
Có trụ sở chính đặt tại thành phố Hà Nội và các chi nhánh tại thành phố Hồ ChíMinh và thành phố Đà Nẵng
- Email: vncert@mic.gov.vn / office@vncert.vn
- Website: http://www.vncert.gov.vn
1.1.2 Cơ cấu tổ chức
Ngoài trụ sở chính đặt tại Hà Nội, trung tâm còn có các chi nhánh tại Miền Trung
và Miền Nam, nhằm tạo điều kiện cho công tác ứng cứu kịp thời, cũng như đảm bảotính nhanh nhạy, góp phần tham gia công tác quản lý tại các vùng miền
Chi nhánh tại Miền Trung (Đà Nẵng) :
- Địa chỉ: Phòng 5.10 tầng 5 số 76-78 đường Bạch Đằng, quận Hải Châu, TP
Đà Nẵng
- Điện thoại: 0511.3843228
Chính nhánh Miền Nam (Tp.Hồ Chí Minh) :
- Địa chỉ: 27 Nguyễn Bỉnh Khiêm, phường Đa Kao, Quận 1, TP Hồ Chí Minh
- Điện thoại: 08 39104925
Cùng 6 phòng ban chức năng, nhiệm vụ cụ thể gồm các phòng: Phòng HànhChính – Tổng hợp, Phòng Kế hoạch – Tài chính, Phòng Điều phối và Ứng cứu an toàn
Trang 8mạng, Phòng Kỹ thuật hệ thống, Phòng Tư vấn – Đào tạo và Phòng Nghiên cứu – Pháttriển Các chi nhánh, phòng ban ngoài nhiệm vụ cụ thể của mình còn hỗ thợ nhau hoànthành nhiệm vụ chính của trung tâm
Hình 1.1 Mô hình tổ chức Trung tâm VNCERT 1.1.3 Nhiệm vụ và quyền hạn
Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam (VNCERT) là tổ chức trựcthuộc Bộ Thông tin và Truyền thông, thực hiện chức năng điều phối hoạt động ứngcứu sự cố máy tính trên toàn quốc; cảnh báo kịp thời các vấn đề về an toàn mạng máytính; phối hợp xây dựng, phối hợp xây dựng các tiêu chuẩn, quy chuẩn kỹ thuật về antoàn mạng máy tính; thúc đẩy hình thành hệ thống các CERT trong các cơ quan, tổchức, doanh nghiệp; là đầu mối trong việc hợp tác với các tổ chức ứng cứu máy tính(CERT) nước ngoài
Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam có các nhiệm vụ và quyền hạn sau:
- Điều phối các hoạt động ứng cứu mạng Internet quốc gia để phòng, chống sự cốmạng và tham gia phòng chống tội phạm, chống khủng bố trên mạng Internet trongphạm vi quốc gia và trong khuôn khổ hợp tác quốc tế
- Điều phối và hướng dẫn các tổ chức, doanh nghiệp cung cấp các dịch vụInternet trong việc xử lý sự cố, trong việc thực hiện nghĩa vụ xử lý và lưu trữ số liệugốc để cung cấp thông tin cho mục đích đảm bảo an toàn mạng Internet quốc gia
- Điều phối các tổ chức, doanh nghiệp cung cấp dịch vụ về an toàn mạng trongnước theo quy định để xử lý các sự cố lớn trên mạng Internet quốc gia Phối hợpquốc tế trong điều phối xử lý sự cố từ nước ngoài hoặc từ trong nước ra
- Tổ chức thu thập thông tin về an toàn mạng Internet Thống kê, tổng hợp, phântích các số liệu về an toàn mạng Internet quốc gia để giúp cho các hoạt động quản lý
Trang 9nhà nước về an toàn bảo mật trong các hoạt động công nghệ thông tin và truyềnthông Theo dõi phát hiện những nguy cơ và sự cố an toàn mạng máy tính để cảnhbáo sớm cho các cơ quan hữu quan và cho cộng đồng; tham gia công tác quản lý antoàn bảo mật trong các hoạt động công nghệ thông tin và truyền thông
- Hoạt động thúc đẩy năng lực ứng cứu khẩn cấp máy tính và hình thành hệthống các CERT trong các cơ quan, tổ chức, doanh nghiệp Tuyên truyền nâng caonhận thức cộng đồng về an toàn thông tin máy tính; phát hành các ấn phẩm về antoàn mạng máy tính theo quy định của pháp luật;
- Tham gia hợp tác với các tổ chức CERT trên thế giới Là đầu mối trao đổi thôngtin với các trung tâm an toàn mạng quốc tế Tham gia các diễn đàn, hoạt động đào tạo
và hội thảo quốc tế về lĩnh vực liên quan
- Được phối hợp, hợp tác với các tổ chức quốc tế để khai thác thông tin, kĩ thuật
và tri thức phòng chống sự cố và tội phạm mạng, quảng bá về an toàn mạng máy tínhViêt Nam và tranh thủ sự giúp đỡ quốc tế nân cao năng lực đảm bảo an toàn mạngcủa Việt Nam
- Tham gia công tác quản lý nhà nước đối với các hoạt động của cá hiệp hội và tổchức phi chính phủ trong lĩnh vực an toàn thông tin trên mạng máy tính Được quyềnyêu cầu các tổ chức, cá nhân hoạt động trên mạng Internet quốc gia cung cấp cácthông tin và các số liệu thống kê liên quan đến vấn đề an toàn mạng
- Cung cấp các dịch vụ đánh giá về kĩ thuật an toàn mạng cho các hệ thống thôngtin và cho các sản phẩm, công nghệ đảm bảo an toàn thông tin dùng trong mạng máytính Kiểm tra đánh giá, công nhận đạt tiêu chuẩn cho các tổ chức làm dịch vụ ứngcứu máy tính và an toàn mạng máy tính
- Tổ chức các dịch vụ về đào tạo, bồi dưỡng kĩ thuật xây dựng mạng và an toànmạng máy tính, kiểm tra sát hạch và cấp chứng chỉ về trình độ quản trị mạng và đảmbảo an toàn mạng máy tính theo các quy định hiện hành của Nhà nước và phân cấpcủa Bộ thông tin và truyền thông
- Cung cấp các dịch vụ khác trong lĩnh vực tư vấn, nghiên cứu, triển khai, sảnxuất, lưu trữ, và cung cấp thông tin phục vụ an toàn mạng máy tính, tạo thêm cácnguồn thu nhằm mở rộng phạm vi và quy mô hoạt động phù hợp với chức năng,nhiệm vụ và quyền hạn của Trung tâm và theo quy định của Pháp luật, bảo toàn vàphát triển các nguồn lực được giao
- Được thu, quản lý và sử dụng phí và lệ phí theo quy định của Pháp luật
- Quản lý về tổ chức công chức, viên chức và tài sản của trung tâm theo quy địnhcủa pháp luật và phân cấp của Bộ trưởng
Trang 10- Thực hiện các nhiệm vụ khác do Bộ trưởng giao
1.1.4 Giới Thiệu Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam (VNCERT) –
Chi Nhánh Đà Nẵng
1.1.4.1 Chức năng và nhiệm vụ
- Điều phối các hoạt động ứng cứu sự cố máy tính, cảnh báo kịp thời các vấn đề
an toàn mạng máy tính tại khu vực miền Trung – Tây Nguyên phục vụ nhiệm vụ củaTrung tâm
- Là đầu mối của Trung tâm quan hệ với các cơ quan đơn vị và các cá nhân trong
và ngoài ngành thuộc khu vực miền Trung – Tây Nguyên để tiếp nhận, giải quyết cácvấn đề thuộc chức năng và nhiệm vụ của Trung tâm theo sự chỉ đạo của Giám đốcTrung tâm
- Chủ động đề xuất, tham gia kế hoạch chương trình công tác hàng năm, tổ chứctriển khai thực hiện các nhiệm vụ được Giám đốc giao
- Thực hiện các nhiệm vụ đột xuất do Giám đốc giao
1.2 GIỚI THIỆU ĐỀ TÀI
1.2.1 Bối cảnh thực hiện đề tài
Hiện nay số lượng điện thoại di động thông minh (smartphone) ngày càng được
sử dụng nhiều, cùng với nó là sự gia tăng của các tấn công mã độc trên di động Kẻphát triển mã độc tạo ra các ứng dụng để tiêm nội dung độc hại vào điện thoại thôngminh và tạo ra các lỗ hổng tiềm ẩn trên đó Các công cụ phát hiện phần mềm độc hại(malware detectors) là phương thức chủ yếu để chống lại các mã độc này Tuy nhiên,hiệu quả của các công cụ phát hiện mã độc lại phụ thuộc vào các kỹ thuật phát hiệnđược sử dụng
Smartphone đang trở thành thiết bị tinh vi, phổ biến và tiện dụng trong cuộcsống Chính vì thế nó trở thành mục tiêu hấp dẫn của kẻ tấn công Ngày nay,smartphone không phải chỉ giới hạn bởi các cuộc hội thoại trao đổi cá nhân mà nó còn
mở rộng đến các giao dịch tài chính, ngân hàng và lưu trữ dữ liệu cá nhân quan trọng.Điều đó làm cho smartphone dễ bị tấn công và là mục tiêu để tìm kiếm và đánh cắpthông tin Các nhà nghiên cứu của phòng thí nghiệm Kaspersky lần đầu phát hiện mãđộc Cabire trên điện thoại di động chạy hệ điều hành Symbian vào năm 2004 Sau đó,
số lượng mã độc tăng lên nhanh chóng cùng với sự phổ biến của smartphone.Smartphone bây giờ được sử dụng để truyền thông, ngân hàng trực tuyến, mua sắmtrực tuyến, lưu giữ hình ảnh, tài liệu quan trọng, trò chơi và thậm chí kiểm soát bảomật các thiết bị trong gia đình Điều này dẫn đến một người sử dụng thông thườngcung cấp hoặc lưu trữ rất nhiều thông tin trên điện thoại của họ nhưng trong hầu hết
Trang 11các trường hợp, người dùng không nhận thức liệu thông tin đó có an toàn bảo mật haykhông Kẻ tấn công lợi dụng các yếu tố này và thông tin của người sử dụng để thựchiện các mưu đồ của mình.
1.2.2 Mục đích thực hiện đề tài
Hiện nay đối với thị trường ứng dụng di động đang phát triển một cách chóng mặt,với việc ra đời các sản phẩm ứng dụng cao tiện ích cho khách hàng nhưng không thểtránh khỏi những sự rủi ro đáng tiếc Rất nhiều các phiên bản ứng dụng thường xuyên
và cập nhật xảy ra, vì thế khi tiến hành phân tích an ninh đầy đủ của các ứng dụng diđộng trở nên tốn thời gian và phức tạp chủ yếu là do các chi phí trong việc thiết lập vàduy trì một môi trường thử nghiệm ứng dụng di động mà khách hàng buộc phải chi trảkhi muốn thực hiện Chính vì vậy với đề tài này em xin giới thiệu một dự án mã nguồn
mở được gọi là Mobile Security Framework (MobSF) là ứng dụng di động mã nguồn
mở tự động thông minh ( Android / iOS ) có khả năng thực hiện phân tích tĩnh và phântích động nhằm phân tích khả an ninh của các ứng dụng di động Trên cơ sở kiến thức
về an toàn thông tin, lý thuyết về hệ điều hành Android và nhu cầu thực tế, hướng tớixây dựng một chương trình đánh giá an ninh tiến trình nhằm hỗ trợ quá trình phát hiện
mã độc
Trang 12CHƯƠNG II TRIỂN KHAI HỆ THỐNG PHÂN TÍCH MÃ ĐỘC
TRỀN NỀN HỆ ĐIỀU HÀNH ANDROID
2.1 GIỚI THIỆU HĐH ANDROID – PYTHON - VIRTUALBOX
2.1.1 Giới thiệu hệ điều hành Android
Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các
thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng.Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từGooglevà sau này được chính Google mua lại vào năm 2005
Android ra mắt vào năm 2007 cùng với tuyên bố thành lập Liên minh thiết bịcầm tay mở: một hiệp hội gồm các công ty phần cứng, phần mềm, và viễn thông vớimục tiêu đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động.Chiếc điện thoại đầutiên chạy Android được bán vào tháng 10 năm 2008
Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phépApache.Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã chophép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết đượcđiều chỉnh và phân phối Android một cách tự do Ngoài ra, Android còn có một cộngđồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng củathiết bị, bằng một loại ngôn ngữ lập trình Java có sửa đổi.Vào tháng 10 năm 2012, cókhoảng 700.000 ứng dụng trên Android, và số lượt tải ứng dụng từ Google Play, cửahàng ứng dụng chính của Android, ước tính khoảng 25 tỷ lượt
2.1.2 Giới thiệu Python
Python là một ngôn ngữ lập trình năng động với nhiều tính năng được sử dụng
trong một loạt các ứng dụng Python thường được so sánh với Tcl, Perl, Ruby, Scheme,hoặc Java Một vài tính năng đặc trưng của nó gồm:
- Cú pháp rất trong sáng, dễ đọc
- Các khả năng tự xét (introspection) mạnh mẽ
- Hướng đối tượng trực giác
- Cách thể hiện tự nhiên mã thủ tục (procedural code)
- Hoàn toàn mô-đun hóa, hỗ trợ các gói theo cấp bậc
- Xử lý lỗi dựa theo ngoại lệ (exception)
- Kiểu dữ liệu động ở mức rất cao
Trang 13- Các thư viện chuẩn và các mô-đun ngoài bao quát hầu như mọi việc
- Phần mở rộng và mô-đun dễ dàng viết trong C, C++ (hoặc Java cho Jython,hoặc các ngôn ngữ NET cho IronPython)
- Có thể nhúng trong ứng dụng như một giao diện kịch (scripting interface)
2.1.3 Giới thiệu máy ảo Oracle VM VirtualBox
VirtualBox (Oracle VM VirtualBox) là một phần mềm ảo hóa miễn phí Trướckia nó thuộc về Microsystem nhưng bây giờ VirtualBox đã thuộc sở hữu của Oracle.VirtualBox có thể chạy được trên nhiều hệ điều hành khác nhau, bao gồm Linux(Ubuntu), OS X, Windows
- Ảo hóa trên VirtualBox là như thế nào?
Đầu tiên VirtualBox được cài vào máy tính, máy tính cài đặt VirtualBox có thểchạy hệ điều hành Linux, OS X, Windows,… Thứ hai, phần mềm này sẽ tận dụngphần cứng của máy tính hiện tại của bạn để cho phép VirtualBox chạy nhiều hệ điềuhành tại cùng một thời điểm Bạn có thể chạy bao nhiêu máy ảo cũng được miễn làphần cứng của bạn cho phép, quan trọng nhất là RAM và dung lượng trống trên ổcứng
VD: bạn có thể cài đặt và chạy hệ điều hành Windows và OS X trên Linux hoặcchạy Linux trên Windows hoặc Mac, …
- Một số điểm nổi bật trong VirtualBox
• Chạy nhiều hệ điều hành cùng lúc: các bạn có thể chạy những phần mềmđược viết riêng cho hệ điều hành nào đó Các bạn có thể tùy chỉnh cấu hìnhphần cứng của máy ảo, đặc biệt hữu ích khi cài những hệ điều hành cũ màphần cứng máy thật không tương thích, chẳng hạn như hệ điều hành DOS,OS/2, …
• Cài đặt phần mềm dễ dàng hơn: đặc biệt hữu ích cho nhà cung cấp phầnmềm, giúp họ thử nghiệm phần mềm của họ trên nhiều hệ điều hành khácnhau mà không tốn nhiều chi phí đầu tư
• Thử nghiệm và recovery (phục hồi): một khi cài đặt, bạn có thể lưu trữ, saochép, di chuyển sang máy khác dù máy khác này có chạy hệ điều hành nào
đi chăng nữa, … Một tính năng không thể không nhắc tới đó là snapshots,giúp bạn lưu lại trạng thái máy ảo và recovery (phục hồi) lại trạng thái đóbất cứ lúc nào bạn muốn, vì thế bạn có thể thử nghiệm thoải mái trên máy
ảo của bạn mà không cần phải cài lại khi gặp lỗi (lỗi phần mềm, bị nhiễm
Trang 14virus) Việc này giúp bạn không cần sao lưu (backup) lại máy ảo cồng kềnhcủa bạn.
• RDP), ngoài ra nó còn hỗ trợ USB cho máy khách khi kết nối vào máy ảo
2.2 GIỚI THIỆU VỀ QUÁ TRÌNH PHÂN TÍCH MÃ ĐỘC
Mã độc được thiết kế nhằm vào mục tiêu là các thiết bị di động, máy tính bảng(tablet) hoặc smartphone để gây thiệt hại hoặc làm gián đoạn hoạt động của thiết bị đó.Các chương trình nguy hiểm này có thể tự cài đặt hoặc được cài đặt một cách vô thứcvào các thiết bị di động, sau đó thực hiện các chức năng mà bạn không biết hoặckhông được phép Chúng có thể phát tán qua mạng Internet thông qua trình duyệt động(mobile browser), được tải về từ các kho ứng dụng hoặc thậm chí được cài đặt quachức năng tin nhắn trên thiết bị Các mục tiêu ngấm ngầm của mã độc di động baogồm thu thập thông tin bí mật, tin nhắn lừa đảo, tiếp thị lừa đảo không mong muốn …
- Mã độc di động có thể chia ra làm 4 loại sau:
o Phần mềm gián điệp và phần mềm quảng cáo (Spyware and Adware)
Phần mềm gián điệp ngấm ngầm thu thập thông tin bí mật về người sử dụng diđộng và chuyển tiếp đến cho bên thứ ba Trong một số trường hợp, nó có thể làphần mềm quảng cáo hoặc tiếp thị Đó cũng là lý do tại sao phần mềm giánđiệp còn được gọi là phần mềm quảng cáo Phần mềm gián điệp sử dụng kếtnối di động của nạn nhân để chuyển thông tin cá nhân như danh bạ, địa chỉ, tinnhắn, lịch sử trình duyệt, phần mềm tải về… Spyware còn thu thập thông tin
về thiết bị như hệ điều hành (OS), mã sản phẩm, số IMEI và số IMSI để có thể
sử dụng cho các tấn công sau này
o Trojans và Virus
Trojan di động lây nhiễm vào các thiết bị bằng cách ẩn mình trong các chươngtrình hữu ích hoặc chương trình hợp pháp, được cài đặt cùng với ứng dụng vàsau đó thực hiện các hoạt động độc hại Trojan liên quan chặt chẽ với virus diđộng Kẻ viết phần mềm độc hại thường sử dụng virus di động để chiếmquyền quản trị cao nhất của thiết bị và truy cập đến các file và bộ nhớ flash
o Các ứng dụng lừa đảo (Phishing Apps)
Cũng giống như máy tính, kẻ tấn công tạo ra các ứng dụng lừa đảo trên diđộng giống như một dịch vụ hợp pháp nhưng có thể đánh cắp thông tin nhạycảm và thông tin xác thực để thực hiện gian lận tài chính Một ví dụ gần đây làứng dụng bảo mật giả mạo cho Facebook đã tuyên bố đảm bảo tài khoảnFacebook nhưng thực tế đánh cắp thông tin của người dùng
Trang 15o Các hoạt động ảo
Mã độc di động ngày càng tinh vi hơn với các chương trình hoạt động ngầmtrên các thiết bị, tự ẩn mình và nằm đợi thời cơ để hành động, ví dụ như mộtphiên giao dịch ngân hàng trực tuyến để tấn công Các hoạt động ẩn có thểthực hiện hoàn toàn vô hình đối với người dùng, thực thi nhiệm vụ hoặc kếtnối với máy chủ điều khiển mạng máy tính ma để nhận các hướng dẫn mớicho hoạt động tiếp theo
Biểu hiện của mã độc di động: mã độc di động khác nhau nhiều về cách pháttán và lây nhiễm vào các thiết bị, nhưng chúng đều có triệu chứng chung Dấuhiệu bị nhiễm mã độc có thể bao gồm: các hành vi không mong muốn, giảmhiệu năng thiết bị Mã độc di động có thể làm giảm tuổi thọ của pin hoặc giảmkhả năng xử lý, chiếm quyền điều khiển trình duyệt, gửi tin nhắn trái phép và
có thể vô hiệu hóa toàn bộ thiết bị
o Các kỹ thuật phát hiện mã độc
Công cụ phát hiện mã độc dựa trên các hành vi của mã độc Nó nhận hai đầuvào, một là biểu hiện của hành vi của mã độc; đầu vào còn lại là chương trìnhđược kiểm duyệt Công cụ phát hiện mã độc có hai đầu vào này sẽ sử dụng các
kỹ thuật phát hiện để xác định phần mềm đó là độc hại hay vô hại Mặc dù hệthống phát hiện xâm nhập (IDS) và công cụ phát hiện mã độc đôi khi được sửdụng như nhau, nhưng công cụ phát hiện mã độc thường chỉ là một thành phầntrong hệ thống IDS hoàn chỉnh
o Quá trình phân tích mã độc, bao gồm các tiến trình:
- Xây dựng môi trường kiểm soát: Trước khi thực hiện bất kỳ một phân tíchnào, cần phải xây dựng một môi trường có kiểm soát để thực hiện một cuộcđiều tra kỹ lưỡng Cần tiến hành thực hiện các bước sau: cách ly tệp tin nhiễm
mã độc; xây dựng một mạng riêng biệt; sử dụng các công cụ thử nghiệm; duytrì tệp tin nhật ký hay triển khai môi trường giả lập Sandbox
- Phân tích động: Quy trình phân tích động thường thu thập các thông tin từ:
bộ nhớ, registry, các tiến trình và dịch vụ đang chạy Phân tích động bao gồmphân tích mạng, dò quét thiết bị và phân tích nội dung tệp tin ưu điểm là quátrình phân tích diễn ra nhanh hơn, dễ dàng hơn; tuy nhiên, không phải hành vinào cũng phân tích được, đơn cử như những loại virus phát hiện ra công cụphân tích thì nó sẽ không hoạt động nữa, hoặc virus chờ đến một lúc nào đómới hoạt động
- Phân tích tĩnh: nhằm thực hiện quá trình phân tích tệp tin khả nghi để lấy kếtquả bổ sung vào CSDL về hồ sơ mã độc Việc phân tích các tệp tin thực thi có
Trang 16thể được thực hiện nhằm xác định các mối đe dọa trong tương lai đối với hệthống Để tối ưu hóa quá trình phân tích tĩnh, cần thực hiện các công việc như:tiền phân tích, phân loại định dạng tệp tin, phân tích chuỗi ký tự và gỡ rối mãnguồn (debugging).
2.2.1 Quy trình phân tích bề mặt
Phân tích sơ lược (phân tích bề mặt) thường là giai đoạn đầu của một quá trìnhphân tích mã độc và hầu như luôn luôn thực hiện Điều này cũng đúng cho các chươngtrình chống virus chỉ quét một mẫu cho một chữ ký Một phân tích bề mặt bao gồm mởcác mẫu và nhanh chóng tìm kiếm thông tin trong tệp mẫu mà không thực thi nó
Hình 2.1 Giao diện phân tích bề mặt
Các thông tin có thể lấy thông qua phân tích bề mặt là:
Những đặc thù bên ngoài của mã độc như: loại tệp, tên tệp, kích thước tệp, thờigian đóng dấu Các chuỗi ký tự xuất hiện trong file (các chuỗi có thể đọc được).Giá trị băm của file (băm dùng để xác định tính toàn vẹn của đối tượng) bảngbăm (MD5, SHA-1 )
Tìm kiếm thông tin công cộng thông qua công cụ tìm kiếm, thông tin đính kèm
Quét bằng phần mềm chống virus như: sử dụng nhiều phần mềm cùng một lúc,
sử dụng quét virus trực tuyến như www.virustotal.com
Trang 172.2.2 Quy trình phân tích động
Quá trình phân tích động nhằm giám sát và kiểm tra hành vi của ứng dụng (mãđộc), như ứng dụng đó được thực thi trên hệ thống (thiết bị Android) Quá trình phântích bao gồm việc thực thi ứng dụng độc hại và kiểm tra hành vi của nó:
Những mục tiêu dễ bị tổn hại
Các tiến trình được tạo ra
Các tệp được tạo ra
Thay đổi đăng ký
Kết nối đến một trang web
Rất khó để xác định tất cả hành vi của mã độc, nhưng có thể làm phản ứng nhanhchóng đối với sự cố
- Các công cụ hỗ trợ phân tích hoạt động: VirtualBox, Python, MobSF, Django, pyOpenSSL, tornado, xhtml2pdf, psutil
Hình 2.2 Quy trình phân tích động
Trang 182.3 Giới thiệu về MobSF
Mobile Security Framework (MobSF)
là ứng dụng di động nguồn mở tự động
thông minh ( Android / iOS ) tự động
hoá cây viết - cơ cấu thử nghiệm có khả
năng thực hiện phân tích tĩnh và phân
tích động Nó có thể được sử dụng để
phân tích hiệu quả và nhanh chóng bảo
mật của Android và iOS ứng dụng và
hỗ trợ cả hai tập tin nhị phân (APK &
IPA) và nén mã nguồn MobSF cũng có
thể thực hiện kiểm tra bảo mật Web API
thử nghiệm với chính API Fuzzer có thể
thu thập thông tin, phân tích an ninh
thông tin thư, xác định các lỗ hổng cụ
thể API di động như XXE, SSRF, PathTraversal, IDOR và các vấn đề kháchợp lý liên quan đến Session và RateAPI hạn chế
2.4 Quy trình triển khai hệ thống MobSF
2.4.1 Các yêu cầu
• Cài đặt Python 2.7
• Cài đặt Oracle JDK 1.7 hoặc cao hơn
• Cài đặt Oracle VirtualBox
• Yêu cầu phần cứng : Min 4GB RAM và HDD 5GB
• Tải về phiên bản mới nhất của MobSF tại:
https://github.com/ajinabraham/Mobile-Security-Framework-MobSF/releases
• Tải MobSF VM tập tin 0,2 ova file: https://goo.gl/h7CCxx
2.4.2 Cài đặt MobSF Python
• Tại Windows gõ lệnh :
C:\Python27\Scripts\pip.exe install -r requirements.txt
• Chạy MobSF :
python manage.py runserver
• Nếu mọi thứ diễn ra đúng, bạn sẽ nhận được một hình như dưới đây
Trang 19• Cấu hình Phân tích Động
Phân tích Động chỉ có sẵn cho những chương trình Android (APK) và chỉ hoạtđộng nếu máy tính của bạn có ít nhất là 4GB bộ nhớ RAM và hỗ trợ Full Virtualization
Để cấu hình phân tích động chúng ta cần 4 điều:
- VM UUID
- Ảnh chụp UUID
- Host / Proxy IP
- VM / thiết bị IP
Tiếp tục với các bước sau :
Mở VirtualBox, Tới File -> Import Appliance và chọn tập tin MobSF_VM_X.X.ova
Hình 2.3 Chọn tập tin MobSF_VM_X.X.ova và tiến hành cài đặt
Trang 20 Tiến hành với quá trình cài đặt Không làm thay đổi bất cứ điều gì
Một khi chương trình MobSF được cài đặt thành công, bạn sẽ thấy một mụcmới trong VirtualBox có tên là MobSF_VM_X.X
Right Click MobSF VM và chọn Settings, Tới tab Network Ở đây chúng ta cầnphải cấu hình hai card mạng
o Adapter 1 nên được kích hoạt và gắn liền với Host-only Adapter Ghi nhớtên của adapter Chúng ta cần tên để xác định các Host / Proxy IP
Hình 2.4 Cấu hình card mạng Adapter 1
o Adapter 2 nên được kích hoạt và gắn liền với NAT
Hình 2.5 Cấu hình card mạng Adapter 2