intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Luận văn Thạc sĩ Khoa học máy tính: Phân tích mức độ an toàn của ứng dụng android dựa trên học máy

Chia sẻ: Tri Nhân | Ngày: | Loại File: PDF | Số trang:70

35
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Đề tài góp phần vào phân tích, đánh giá mức độ an toàn của ứng dụng Android qua học máy. Đây cũng là một trong những tiêu chí bảo mật của Android trên hệ thống để mang lại tính hiệu quả cao nhất. Việc phân tích các mức độ của từng quyền để phát hiện mã độc giúp chúng ta thu được những điểm quan trọng để đánh giá ứng dụng, trợ giúp cho người dùng ước lượng được độ an toàn của ứng dụng.

Chủ đề:
Lưu

Nội dung Text: Luận văn Thạc sĩ Khoa học máy tính: Phân tích mức độ an toàn của ứng dụng android dựa trên học máy

  1. ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐỖ QUỐC LƯU PHÂN TÍCH MỨC ĐỘ AN TOÀN CỦA ỨNG DỤNG ANDROID DỰA TRÊN HỌC MÁY LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN, 2019 Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
  2. i LỜI CẢM ƠN Lời đầu tiên, em xin chân thành cám ơn PGS. TS Phạm Thanh Giang người đã trực tiếp hướng dẫn em hoàn thành luận văn. Với những lời chỉ dẫn, những tài liệu, sự tận tình hướng dẫn và những lời động viên của thầy đã giúp em vượt qua nhiều khó khăn trong quá trình thực hiện luận văn này. Em cũng xin cám ơn quý thầy cô giảng dạy chương trình cao học "Khoa hoc máy tính” đã truyền dạy những kiến thức quý báu, những kiến thức này rất hữu ích và giúp em nhiều khi thực hiện nghiên cứu. Cuối cùng, em xin gửi lời cám ơn tới gia đình và bạn bè đã luôn ủng hộ động viên giúp đỡ em trong suốt những năm học vừa qua. Em xin chân thành cám ơn! Thái Nguyên, ngày tháng năm 2019 Học viên Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
  3. ii LỜI CAM ĐOAN Em xin cam đoan: Luận văn này là công trình nghiên cứu thực sự của cá nhân, được thực hiện dưới sự hướng dẫn khoa học của PGS. TS Phạm Thanh Giang. Các số liệu, những kết luận nghiên cứu được trình bày trong luận văn này trung thực và chưa từng được công bố dưới bất cứ hình thức nào. Em xin chịu trách nhiệm về nghiên cứu của mình. Học viên Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
  4. iii MỤC LỤC LỜI CẢM ƠN ................................................................................................... 1 LỜI CAM ĐOAN ............................................................................................. ii MỤC LỤC ........................................................................................................ iii DANH MỤC CÁC TỪ VIẾT TẮT .................................................................. v DANH MỤC BẢNG ........................................................................................ vi DANH MỤC HÌNH ẢNH .............................................................................. vii MỞ ĐẦU ........................................................................................................... 1 CHƯƠNG 1: TỔNG QUAN VỀ AN TOÀN BẢO MẬT TRÊN HỆ ĐIỀU HÀNH ANDROID ............................................................................................ 6 1.1 Kiến trúc hệ điều hành Android .............................................................. 7 1.1.1 Tầng hạt nhân Linux (Linux Kernel) ............................................... 8 1.1.2 Tầng Thư viện (Libraries) và Tiến trình Android (Android Runtime) .................................................................................................... 9 1.1.3 Tầng Khung ứng dụng (Application Framework) ......................... 11 1.1.4 Tầng Ứng dụng (Applications) ...................................................... 13 1.1.5 Máy ảo Dalvik (DVM) ................................................................... 14 1.1.6 Cấu trúc ứng dụng Android ........................................................... 17 1.2 An toàn bảo mật hệ điều hành Android ................................................ 21 1.2.1 Mã độc ............................................................................................ 21 1.2.2 Biểu hiện của mã độc di động ........................................................ 22 1.2.3 Mã độc trong môi trường Android ................................................. 22 1.2.4 Một số kỹ thuật phân tích mã độc .................................................. 24 CHƯƠNG 2: GIỚI THIỆU HỌC MÁY VÀ CÁC MÔ HÌNH HỌC MÁY .. 36 2.1 Học máy là gì? ...................................................................................... 36 2.2 Phân loại kỹ thuật học máy ................................................................... 37 2.3 Các bước học máy ................................................................................. 37 Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
  5. iv 2.3.1 Thuật toán cây quyết định J48 (Decision Trees) ........................... 39 2.3.2 Thuật toán hồi quy logictics ........................................................... 42 CHƯƠNG 3: MÔ PHỎNG VÀ KIỂM THỬ ................................................. 45 3.1 Mô phỏng (Phương pháp thực hiện) ..................................................... 48 3.1.1 Phương thức tính điểm ................................................................... 48 3.1.2 Thực nghiệm .................................................................................. 51 3.2 Kết quả thực nghiệm ............................................................................. 57 3.2.1 Kết quả ........................................................................................... 57 3.2.2 Đánh giá, tranh luận ....................................................................... 58 KẾT LUẬN ..................................................................................................... 60 TÀI LIỆU THAM KHẢO ............................................................................... 61 Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
  6. v DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt Từ gốc Nghĩa tiếng Việt AM Activity Manager Khối quản lý hoạt động APK Android Package Gói ứng dụng Android GPS Global Positioning System Hệ thống định vị toàn cầu Intrusion Detection IDS Hệ thống phát hiện xâm nhập System ID Identification Nhận dạng, nhận biết AI Artificial Intelligence Trí tuệ nhân tạo J48 Decision Trees Cây quyết định Số mẫu ác tính được phát hiện TP True Positive chính xác FP False Positive Số mẫu ác tính bị phát hiện sai Số mẫu lành tính được phát hiện TN True Negative chính xác FN False Negative Số mẫu lành tính bị phát hiện sai Tỷ lệ xác nhận chính xác mẫu ác TPR True Positive Rate tính FPR False Positive Rate Tỷ lệ xác nhận sai mẫu ác tính Tỷ lệ xác nhận chính xác mẫu TNR True Negative Rate lành tính FNR False Negative Rate Tỷ lệ xác nhận sai mẫu lành tính Tỷ lệ xác nhận chính xác trên ACC Overall Accuracy tổng số mẫu Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
  7. vi DANH MỤC BẢNG Bảng 3.1: Điểm Risk- score ............................................................................ 49 Bảng 3.2: Điểm Protection- score ................................................................... 49 Bảng 3.3: Ví dụ tính điểm “quyền” ứng dụng ................................................ 50 Bảng 3.4: Kết quả của phương pháp ............................................................... 57 Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
  8. vii DANH MỤC HÌNH ẢNH Hình 1.1:Sơ đồ kiến trúc hệ thống cấp thấp Android ....................................... 8 Hình 1.2: Hộp thoại ứng dụng không phản hồi............................................... 12 Hình 1.3: Vị trí điện thoại được cung cấp cho google map ............................ 13 Hình 1.4: Cấu trúc tập tin .dex ........................................................................ 15 Hình 1.5: Ứng dụng xin cấp quyền từ người dùng ......................................... 17 Hình 1.6: Quy trình xây dựng 1 file ứng dụng Android ................................. 18 Hình 1.7: Mục tiêu của mã độc Android......................................................... 23 Hình 1.8: Lời gọi hệ thống .............................................................................. 24 Hình 1.9: Phân tích bất thường cố định .......................................................... 25 Hình 1.10: Phân tích mã nguồn ....................................................................... 25 Hình 1.11: Phân tích quyền ứng dụng............................................................. 27 Hình 1.12 : Các quyền đơn giản trong Android .............................................. 31 Hình 1.13 : Các quyền nguy hiểm trong Android........................................... 32 Hình 1.14 : Giao diện file AndroidMainfest ................................................... 33 Hình 1.15 : Xin cấp quyền trên Android 6.0 Marshmallow ........................... 34 Hình 1.16 : Giao diện App Ops....................................................................... 35 Hình 1.17 : Giao diện kiểm soát quyền của ứng dụng Calender trên Android 6.0 35 Hình 2.1 : Kết quả thuật toán Cây quyết định................................................. 42 Hình 2.2 : Kết quả thuật toán Hồi quy Locgictics .......................................... 44 Hình 3.1: Phân tích mã nguồn ......................................................................... 48 Hình 3.2: Xác định quyền ............................................................................... 54 Hình 3.3: Protection- score ............................................................................. 55 Hình 3.4: Risk- score....................................................................................... 55 Hình 3.5: Ngưỡng đánh giá ............................................................................. 56 Hình 3.6: Kết quả so sánh với phương pháp Ryo Sato, logictics ................... 58 Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
  9. 1 MỞ ĐẦU 1. Đặt vấn đề Trong thời đại công nghệ hiện nay, khi tất cả mọi thứ đều được số hóa, cuộc sống, công việc trở nên khó khăn hơn nếu thiếu đi một chiếc điện thoại thông minh – smartphone. Dựa vào sự gia tăng về số lượng người dùng smartphone, các phần mềm độc hại với mục đích viết ra để trục lợi cá nhân cũng theo đó mà nhân lên hằng năm. Những phần mềm này ngày càng được tinh hóa hơn nhằm vượt qua các rào cản an ninh của Google. Chúng trở nên nhiều và đa dạng khiến những người dùng bất cẩn dễ dàng bị xâm hại. Sau thời gian nghiên cứu, tôi xin đề xuất việc kết hợp giữa phương pháp phân tích tĩnh và một số mô hình học máy vào việc phân tích mức độ đáng tin cậy của một ứng dụng Android. Nghiên cứu này sẽ giúp thiết bị di động của người dùng tránh khỏi việc lưu trữ một phần mềm nguy hiểm. 2. Đối tượng và phạm vi nghiên cứu a. Đối tượng nghiên cứu: - Nghiên cứu phương pháp phát hiện đánh giá mức độ mất an toàn của các phần mềm trên thiết bị di động Android - Dữ liệu mẫu khai thác từ các nguồn công khai như Google Play và các trang nghiên cứu về bảo mật trên Android o Drebin: https://www.sec.cs.tu-bs.de/~danarp/drebin/ o Contagio Mobile Malware: http://contagiominidump.blogspot.com/ o Các phần mềm lành tính được thu nhập trên cửa hàng Google Play b. Phạm vi nghiên cứu: - Trong hướng nghiên cứu của đề tài tập trung vào các ứng dụng trên nền tảng Android, tuy nhiên các kết quả nghiên cứu cũng là nền tảng để nghiên cứu về an toàn cho các ứng dụng trên nền tảng iOS. Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
  10. 2 3. Hướng nghiên cứu của đề tài Hiện nay, số lượng smartphone đã vượt qua số lượng máy tính PC. Các thông tin quan trọng trên smartphone rất đa dạng, mang tính cá nhân. Các thông tin này thậm trí quan trọng hơn cả thông tin trên PC; bao gồm các tài liệu, các ghi chép, tài khoản email, tài khoản mạng xã hội, tin nhắn SMS/MMS, danh bạ, thông tin cuộc gọi, thông tin vị trí, hình ảnh… Theo công bố gần đây của Kaspersky, năm 2012 là năm cho thấy sự tăng trưởng bùng nổ của phần mềm độc hại cho Android. Từ 8 chương trình độc hại vào tháng 1/2011, tỉ lệ phát hiện trung bình hàng tháng phần mềm độc hại mới cho Android mới trong năm 2011 đã lên đến hơn 800 mẫu. Trong năm 2012, Kaspersky Labs đã xác định trung bình 6.300 mẫu phần mềm độc hại trên thiết bị di động mới mỗi tháng. Nhìn chung, trong năm 2012 số lượng mẫu độc hại cho Android được biết đến tăng hơn 8 lần. Đến năm 2016, số malware được phát hiện lây nhiễm trên các thiết bị di động đã đã cán mốc 2 triệu. Các phần mềm độc hại có thể lợi dụng các lỗ hổng hoặc sự bất cẩn của người dùng để cài đặt vào smartphone. Một số phần mềm còn tìm cách vượt qua chính sách an ninh của hệ thống phân phối phần mềm (Market place) để giám sát và thu thập thông tin người dùng một cách tinh vi. Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
  11. 3 Đối với máy tính, việc tấn công chủ yếu qua đường mạng hoặc chia sẻ file trên đĩa cứng, USB. Với đặc tính thuận tiện, trao đổi dữ liệu dễ dàng, di động, thiết bị smartphone việc tấn công có thể thực hiện qua rất nhiều kênh khác nhau: - MMS: Multimedia Messaging Service (MMS) là kênh để các phần mềm nguy hại có thể được gửi tới các thiết bị smartphone có khả năng nhận tin nhắn MMS và tự động copy gửi để lây lan tới các máy khác. Ví dụ như sâu Commwarrior.A. - Bluetooth: Thông qua Bluetooth các virus có thể truyền tới các smartphone trong khoảng truyền thông của Bluetooth. Ví dụ như sâu Lasco. - GPRS/EDGE/UMTS: Các dải sóng điện thoại GPRS/EDGE/UMTS đều cho phép các thiết bị smartphone thiết lập kênh IP chạy trên đó, việc tấn công có thể thực hiện như việc tấn công với máy tính. - WLAN: Các thiết bị smartphone còn được trang bị các kết nối không dây qua Wifi trên kênh IP, các virus và thông tin người dùng có thể dễ dàng thu thập qua mạng. - Removable media: Các thiết bị lưu trữ ngoài như thẻ nhớ cũng là nơi lây lan virus khi việc copy được thực hiện giữa các smartphone hoặc máy tính. Ví dụ như malware CardTrap Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
  12. 4 Lợi dụng các lỗ hổng bảo mật trên các thiết bị di động, hacker có thể: - Đánh cắp các thông tin cá nhân bao gồm: tài liệu, thông tin người sử dụng, tài khoản ngân hàng, tài khoản email, danh bạ điện thoại, tin nhắn SMS, MMS, hình ảnh, lịch làm việc, ghi chú. - Ghi lại các hành vi của người dùng: Ghi lại các nội dung cuộc gọi, tin nhắn SMS, MMS, vị trí của người dùng. - Ăn cắp cước thuê bao: Sử dụng thuê bao để gọi điện thoại, gửi tin nhắn, gửi email. - Ngoài ra, các phần mềm độc hại gây ảnh hưởng đến hệ thống điện thoại như: tự động khởi động điện thoại, tiêu tốn nhiều năng lượng làm giảm thời gian sử dụng pin, gây hỏng hóc và làm mất mát dữ liệu người dùng,… Hiện nay, trên thị trường đã xuất hiện một số phần mềm diệt virus trên điện thoại di động với nhiều tính năng hữu ích như: McAfee Mobile Security, Kaspersky Mobile Security,… Ở Việt Nam cũng đã có một số phần mềm bảo vệ điện thoại nổi bật như: Bkav Mobile Security, CMC Mobile Security hoạt động trên nền tảng Android và iOS. Tuy vậy phần lớn các phần mềm kể các quốc tế và trong nước đều chưa chứng minh được tính hiệu quả, do việc phát hiện phần mềm độc hại dựa trên phương pháp truyền thống là nhận dạng dựa trên chữ ký, không đánh giá được các hành vi lạm dụng thông tin của người dùng của các ứng dụng. Ngoài ra, các phần mềm phát hiện virus trên di động vẫn hoạt động theo phương pháp truyền thống nên tiêu tốn rất nhiều tài nguyên của thiết bị, làm giảm hiệu năng của thiết bị và tiêu tốn pin. 4. Những nội dung nghiên cứu chính Chương 1: Tổng quan về an toàn bảo mật trên hệ điều hành Android 1. Hệ điều hành Android 2. Bảo mật trên Android 3. Các phương pháp đánh giá mức độ an toàn bảo mật Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
  13. 5 Chương 2: Giới thiệu Học máy và các mô hình Học máy 1. Học máy là gì? 2. Các mô hình Học máy 3. Xây dưng một mô hình Học máy Chương 3: Mô phỏng và kiểm thử 1. Mô phỏng bằng công cụ 2. Kết quả và đánh giá 5. Phương pháp nghiên cứu - Nghiên cứu các bài báo khoa học trong nước và quốc tế - Đề xuất phương pháp cải tiến xác định mức độ nguy hại của ứng dụng - Sử dụng các công cụ SDK, NDK, Android Studio để lập trình ứng dụng 6. Ý nghĩa khoa học của đề tài Đề tài góp phần vào phân tích, đánh giá mức độ an toàn của ứng dụng Android qua học máy. Đây cũng là một trong những tiêu chí bảo mật của Android trên hệ thống để mang lại tính hiệu quả cao nhất. Việc phân tích các mức độ của từng quyền để phát hiện mã độc giúp chúng ta thu được những điểm quan trọng để đánh giá ứng dụng, trợ giúp cho người dùng ước lượng được độ an toàn của ứng dụng. Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
  14. 6 CHƯƠNG 1: TỔNG QUAN VỀ AN TOÀN BẢO MẬT TRÊN HỆ ĐIỀU HÀNH ANDROID Android là một hệ điều hành có mã nguồn mở 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 (của Samsung, LG, HTC, Motorola …). Ngôn ngữ chính thức để phát triển Android là Java. Phần lớn Android được viết bằng Java và các hàm API của nó được thiết kế để được gọi chủ yếu từ Java. Logo Android 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ừ Google, sau này được Google mua lại vào năm 2005. Vào ngày 5 tháng 11 năm 2007, hệ điều hành Android chính thức ra mắt. Hệ quả là sự thành lập của liên minh thiết bị cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng, phần mềm và viễn thông nhằm mục đính tạo nên một chuẩn mở cho điện thoại di động trong tương lai. Chiếc điện thoại đầu tiên chạy Android là HTC Dream được bán vào ngày 22 tháng 10 năm 2008. Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
  15. 7 1.1 Kiến trúc hệ điều hành Android Để nghiên cứu được về sự an toàn bảo mật trên hệ điều hành Android, trước tiên ta cần phải nắm được kiến trúc hệ điều hành này. Từ đó có thể hiểu sâu hơn về hệ điều hành Android và nghiên cứu các mặt khác trong hệ điều hành dành cho đa số điện thoại thông minh này. Trong chương này, chúng ta sẽ tập trung vào nghiên cứu kiến trúc hệ thống cấp thấp Android và các thành phần bên trong. Dưới đây là sơ đồ mô tả nền tảng và kiến trúc hệ thống Android (Hình 1.1). Hệ thống gồm 5 phần, 4 lớp. Mỗi phân vùng được đại diện bằng 1 màu. Vùng màu đỏ nằm ở lớp cuối cùng, đây là lớp Linux. Lớp này cung cấp 1 cập độ trừu tượng giữa phần cứng của thiết bị và các thành trình điều khiển phần cứng thiết yếu như máy ảnh, bàn phím, màn hình hiển thị … Vùng thứ hai là vùng màu xanh lá cây, bao gồm tập các thứ viện viết bằng ngôn ngữ C hoặc C++ như WebKit, libc, SQLite, …. Cùng một lớp với vùng này, là phần Android Runtime (Tiến trình Android). Phần này cung cấp 1 bộ phận quan trọng là Dalvik Virtual Machine - là 1 loại Java Virtual Machine được thiết kế đặc biệt để tối ưu cho Android. Ngoài ra, nó cũng cung cấp 1 tập các thư viện chính giúp các nhà phát triển ứng dụng Android có thể viết ứng dụng Android bằng Java. Vùng màu xanh lam gồm hai lớp trên cùng, vùng này đại diện cho các ứng dụng cài đặt trên điện thoại cũng như các dịch vụ được cung cấp cho những ứng dụng đó. Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
  16. 8 Hình 1.1:Sơ đồ kiến trúc hệ thống cấp thấp Android Các phần dưới đây sẽ phân tích kỹ hơn về từng phần trong hệ thống Android để làm rõ hơn về cấu trúc và chức năng của mỗi phần. 1.1.1 Tầng hạt nhân Linux (Linux Kernel) Mã nguồn của Linux được sử dụng trong nhiều hệ điều hành mã nguồn mở như Ubuntu, Fedora, OpenSUSE,… Mã nguồn Linux là mã nguồn cho phép mọi người sử dụng mà không phải trả phí bản quyền, bên cạnh đó người dùng được phép tùy ý sửa chữa theo ý mình thích. Giống các hệ điều hành trên, Android sử dụng một phiên bản đặc biệt của hạt nhân Linux với một vài bổ sung, thay đổi đặc biệt để phù hợp chạy trên điện thoại, từ đó tạo nên những chiếc điện thoại thông minh. Tầng hạt nhân Linux là tầng nằm dưới cùng trong kiến trúc hệ thống Android, có trách nhiệm quản lý tất cả các hoạt động của điện thoại:  Quản lý bộ nhớ điện thoại.  Giao tiếp với phần cứng.  Thực hiện bảo mật. Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
  17. 9  Quản lý tiến trình. Các thành phần chủ yếu trong tầng hạt nhân Linux:  Trình điều khiển hiện thị (Display Driver): điều khiển hiện thị trên màn hình điện thoại, cũng như thu nhận tín hiệu điệu khiển của người dùng thông qua màn hình cảm ứng.  Trình điều khiển máy ảnh (Camera Driver): Điều khiển hoạt động của máy ảnh và nhận dữ liệu từ máy ảnh.  Trình điều khiển bộ nhớ Flash (Flash Memory Driver): Quản lý việc đọc ghi dữ liệu lên bộ nhớ flash.  Trình điều khiển kết nối mạng (Blinder (IPC) Driver): Chịu trách nhiệm về kết nối liên lạc mạng vô tuyến như CDMA, GSM, 3G, 4G, E để đảm bảo chức năng truyền thông của điện thoại.  Trình điều khiển bàn phím (Keypad Driver): Điều khiển bàn phím.  Trình điều khiển mạng wifi (Wifi Driver): Điều khiển hoạt động thu phát sóng wifi.  Trình điều khiển âm thành (Audio Driver): Điều khiển hoạt động thu phát âm thanh, giải mã từ các tín hiệu âm thanh sang tín hiệu số để ghi và từ tín hiệu số sang tín hiệu âm thanh để phát.  Trình quản lý hiệu năng (Power Management): Giám sát và quản lý tiêu thụ điện năng. 1.1.2 Tầng Thư viện (Libraries) và Tiến trình Android (Android Runtime) a) Tầng Thư viện (Libraries) Thư viện nằm trong phân vùng màu xanh lá cây của kiến trúc hệ thống Android. Vùng Thư viện chứa tất cả các thư viện cơ sở của hệ điều hành Android. Như đã nói ở trên, các thư viên này được viết bằng ngôn ngữ lập trình C hoặc C++. Bằng những định nghĩa có sẵn trong các thư viện, phần mềm có thể dễ dàng sử dụng để hoạt động trên hệ điều hành Android. Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
  18. 10 Các thư viện trong phân vùng này được chia làm nhiều nhóm thư viên, mỗi nhóm cùng định nghĩa cho một loại thư viện khác nhau.  Thư viện hệ thống (System C Library): đây là nhóm thư viện được viết theo chuẩn C. Nhóm thư viện này được thiết kế cho hệ điều hành và chỉ duy nhất hệ điều hành sử dụng nó.  Thư viện phương tiện truyền thông (Media Libraries): nhóm thư viện này hỗ trợ việc phát hoặc ghi các tập tin.  Thư viện đồ họa 2D và 3D: Nhóm này hỗ trợ về vấn đề đồ họa. Trong Android, với OpenGL Lib, bạn có thẻ kết hợp cả 2D và 3D trong một giao diện người dùng.  Thư viện cơ sở dữ liệu SQL: Hỗ trợ về việc lưu trữ và sử dụng các cơ sở dữ liệu. Hệ điều hành Android có một công cụ cơ sở dữ liệu có tên là SQLite, công cụ này cho phép bạn sử dụng để lưu trữ dữ liệu về ứng dụng.  Thư viện Web: Đây là một thư viện quan trong, nó giúp các thiết bị di dộng có thể hiện thị nhanh chóng các trang web gồm nhiều phần được viết với ngôn ngữ khác nhau như HTML, Java Script, CSS, … Để làm được điều này, hệ điều hành Android sử dụng thư viện Web Kit, giống với thư viện sử dụng trên Google Chrome và Safari. b) Tiến trình Android (Android Runtime) Như đã nói ở trên, trong hệ điều hành Android, để chạy một ứng dụng trên Android bạn cần sử dụng máy ảo Dalvik. Quá trình chạy Android chính là phần chứa máy ảo Dalvik và các thư viện giúp các chương trình viết bằng ngôn ngữ Java có thể hoạt động trên điện thoại. Để làm được điều này, Quá trình chạy Android chứa hai phần chính:  Thư viện lõi (Core Libraries) : gồm các lớp JavaIO, collections, File access. Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
  19. 11  Máy ảo Java : máy ảo được sử dụng trong hệ điều hành Android chính là máy ảo Dalvik. Chúng ta sẽ nói rõ hơn về máy ảo Dalvik vào phần sau. 1.1.3 Tầng Khung ứng dụng (Application Framework) Tầng Khung ứng dụng cung cấp các dịch vụ cấp độ cao hơn cho các ứng dụng dưới dạng các lớp Java. Nói theo cách khác, các thành phần trong tầng này đều được viết bằng ngôn ngữ Java. Với tầng Khung ứng dụng của Android, các lập trình viên có thể dễ dàng sử dụng và xây dựng những ứng dụng cho điện thoại. Có được điều đó bởi vì tầng này cung cấp các khối xây dựng mức độ cao, giúp hỗ trợ tạo nên các ứng dụng trong các dạng gói Android khác nhau. Hầu hết các phần trong tầng khung ứng dụng được thực thi như các ứng dụng và được chạy như các tiến trình nền trên thiết bị điện thoại. Tầng này có nhiệm vụ quản lý các chức năng cơ bản như thực hiện cuộc gọi, nhận cuộc gọi, gửi và nhận tin nhắn và giám sát hiệu năng sử dụng. Bên cạnh đó, ở đây còn có một số thành phần nắm giữ những chức năng đáng chú ý khác:  Khối quản lý hoạt động (Activity Manager – AM): AM kiểm soát tất cả khía cạnh của vòng đời ứng dụng và ngăn xếp các Activity. Khối quản lý giúp hệ điều hành có thể quản lý các tiến trình bằng cách theo dõi các ứng dụng đang hoạt động. Cùng với đó, AM thực hiện đóng các tiến trình nền nếu thiết bị hết bộ nhớ. Trong khi theo dõi các ứng dụng, AM có thể phát hiện ra các ứng dụng không phản hồi với một tác động đầu vào trong 5 giây, AM sẽ quyết định đó là một Ứng dụng không phản hồi và sẽ có trách nhiệm tả về một hộp thoại nhắc nhở người dùng có một ứng dụng không phản hồi. Đồng thời, nó cho phép người dùng lựa chọn đóng ứng dụng hoặc đợi ứng dụng phản hồi (Hình 1.2) Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
  20. 12 Hình 1.2: Hộp thoại ứng dụng không phản hồi  Khối cung cấp nội dung (Content providers) : Đây là một khối xây dưng cơ bản của tầng khung ứng dụng. Khối này có trách nhiệm giúp chia sẻ dữ liệu giữa các ứng dụng với nhau, giúp cùng một dữ liệu có thể được truy cập bởi nhiều ứng dụng. Mặc dù phải tạo ra một nơi để lưu trữ dữ liệu để cung cấp nội dung, nhưng giúp cho giảm đáng kể bộ nhớ cần sử dụng.  Khối quản lý tài nguyên (Resource Manager) : Cung cấp quyền truy cập vào các tài nguyên như các chuỗi, màu sắc, các layout giao diện người dùng.  Khối quản lý thông báo (Notifications Manager) : Cho phép các ứng dụng hiển thị thông báo các sự kiện. Đây là hình thức truyền tải cho người dùng biết những thông tin, hoạt động chạy nền đang xảy ra. Có rất nhiều kiểu thông báo, bao gồm : đèn nháy, chế độ rung, âm thanh hay những thanh báo hiện thị trên màn hình (Hình 1.3). Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0