Cùng với cộng đồng xử lý ngôn ngữ tự nhiên tiếng Việt đang thiếu hụt và không đa dạng về các bộ dữ liệu cho nghiên cứu bài toán phân loại văn bản với dữ liệu liên quan đến thông tin mô t
Trang 1ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC VÀ KỸ THUẬT THÔNG TIN
NGUYEN NGỌC QUÍ - 18520410
KHÓA LUẬN TÓT NGHIỆP
NHAN DIỆN SỰ MAU THUAN GIỮA HANH VI CUA
UNG DUNG ANDROID VA MO TA
CONFLICT DETECTION BETWEEN ANDROID APPLICATION
BEHAVIORS AND THEIR DESCRIPTIONS
CU NHAN NGANH CONG NGHE THONG TIN
TP HO CHi MINH, thang 1 nim 2023
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HQC CONG NGHE THONG TIN KHOA KHOA HOC VA KY THUAT THONG TIN
NGUYEN NGỌC QUÍ - 18520410
KHÓA LUẬN TÓT NGHIỆP
NHAN DIỆN SỰ MAU THUAN GIỮA HANH VI CUA
UNG DUNG ANDROID VA MO TA
CONFLICT DETECTION BETWEEN ANDROID APPLICATION
BEHAVIORS AND THEIR DESCRIPTIONS
CU NHAN NGANH CONG NGHE THONG TIN
GIANG VIEN HUONG DAN
TS NGUYEN TAN CAM
ThS NGUYEN VAN KIET
TP HO CHÍ MINH, tháng 1 năm 2023
Trang 3THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
" ngày của Hiệu trưởng Trường Dai học Công
Trang 4LOI CAM ON
Đầu tiên, em xin gửi lời cảm ơn hai giảng viên hướng dẫn là Thầy Nguyễn
Tan Cam và Thay Nguyễn Văn Kiệt đã dong hành và dõi theo em trong suốt quá trình thực hiện khóa luận Nhờ hai thay đã luôn tận tình chi bảo, quan tâm va lo lắng mà chúng em đã có được một công trình khóa luận tốt nghiệp tốt nhất Đối với
em, thay còn là người truyền lửa giúp em có đủ nhiệt huyết, lòng tin và lòng quyết
tâm thực hiện khóa luận này tới cuối cùng.
Bên cạnh đó em muốn gửi lời cảm ơn đặc biệt tới Thay Luu Thanh Son,
Huynh Văn Tín, Nguyễn Thanh Luân, Nghỉ Hoàng Khoa đã giúp đỡ em rất nhiễu về mặt kiến thức chuyên môn.
Tiếp theo, em muốn cảm ơn chân thành tới quý thay cô trường Đại học Công nghệ thông tin nói chung và các thây, cô trong Khoa Khoa học và Kỹ thuật Thông
tin nói riêng, đã truyền đạt, dạy dỗ các kiến thức quý giá từ khi bước chân vào nhà
trường Những kiến thức chúng em tích lũy được từ quý thầy cô đã giúp ích rất nhiều cho chúng em trong suốt quá trình thực hiện khóa luận tốt nghiệp
Cuối cùng tôi cũng xin được cảm ơn các người bạn Nguyễn Thị Phương, Phạm Nguyễn Phúc Toàn, Lê Thị Minh Hiên, Nguyễn Hô Phương Thao đã động
viên tỉnh thần trong quá trình hoàn thành khóa luận tốt nghiệp.
Em xin chân thành cảm ơn!
Tác giả: Nguyễn Ngoc Qui
Trang 5MỤC LỤC
TOM TAT KHÓA LUẬN -2°-2s°©VveeEEEEeseeEEvveeeetvvesererrveserore 1
j0 — ,Ô 3 Chương1 TONG QUAN DE TÀI scssseccvveseerrvvesresrveeseel 8
1.1 Bài toán phân loại văn bản oo ees essesesseseeseeseseesessesesseseeseseseeneaeess 8
1⁄2 Vấn đề thách tht scccccssssssssescseccsssssnsseseccssssussesseesssssnmsesscessssueseeeesssnenees 0
1.3 Tính ứng dụng của đề tài :¿-2222+++2222EEvtEEEEErrrtrrkkrrrrrrkrrrrrrrrvee 1 1.4 Kết luận
Chương2 CO SỞ LÝ THUYÊÉT . c 2ccccssseeccvvvvee 13
2.1 Hệ điều hành Android -. cc:cz22222222+++tt222ESEEvvrrrrrrrrrrvrrrrrrrrrrr 3
2.1.1 Dinh nghĩa Ăn nh HH iưyc 3
2.1.2 Đặc điểm của hệ điều hành Android -¿ -sz+cssc+2 4 2.1.3 Cấu trúc hệ điều hành Android -.¿¿z++22+sc+zczsscee 6
2.1.4 Tập tin APK cccccccocvrverrrrrrrrrrrrrreerrre 20
2.1.5 Phân quyền trong hệ điều hành Android -. - 22
2.2 Xử lý ngôn ngữ tự nhiÊn ¿-¿- + St 1E HH0 01.1 26 Chương 3 CAC CÔNG TRÌNH NGHIÊN CỨU LIEN QUAN 27
3.1 Công trình nghiên cứu trên thé giới - ¿¿-2vc+++z+ttcvvvvvrrrrrrrrrr 27
Trang 64.3 Đánh giá độ đồng thuận 2¿:2222+++22Ev++ttEEEE+rttEEEvrrrrrrrrrrrrrrer 39
4.4 Bộ dữ liệu sau khi hoàn chỉnh - + t+xsxexvrkekekerkerrrterxsrrrrsre 46
4.5 Phân tích đặc điểm bộ dữ liệu -2¿+2222+++v2vczvvrerrrvrrcerrree 48 4.5.1 Thống kê phân tích bộ dữ liệu -.¿-c++22++c+ccvsecer 48
4.5.2 _ Phân tích với phương diện từ Vựng -cc+xscvsereeexexex 50
4.6 Kết luận cv HH He 55
Chương 5 CAC MÔ HÌNH SỬ DỤNG.
5.1 Các mô hình thực nghiệm ¿-¿- ¿+ vn ngư ưưn 57 5.1.1 Mô hình học May eee eeeeseeeeeeeeeeeeeseeeseneneeeseseeeeeeeeereeeeeeeenees 57 5.1.2 Mô hình học sâu ¿+ 2+ *St 32+ xvveErreeerrrrrrerrrrrrrrrerree 58
5.1.3 Mô hình học chuyển tiếp .-:2c++2v++++2cvvvrrerrrxrrrsrrrrree 60 5.1.4 Mô hình kết hợp -52222cveerstrrrkrkrrrrrrrrrrrrrrrreerrr 63 Chương 6 CAI ĐẶT, KET QUA VÀ ĐÁNH GIÁ e+ 66
6.1 Tiền xử lý dữ liệu.
6.2 Cài đặt thử nghiệm -: 222222222cE2222211112 221211112 cv, 66
ng am ẽ.ẽẽ - ADH,) 67
6.4 Phân tích và thao luận về kết quả thử nghi@M c cccccccccssseecscssseecsssseeeeoes 68
6.4.1 Kết quả thử nghiệm 2-22222cS2EEEEtrSEEEEerrrrrkrrrrrrrrvee 68 6.4.2 Phân tích lỗi dựa trên ma trận nhằm lẫn - 70
6.4.3 Phân tích lỗi dựa trên độ dài của câu 2: 2 ++sz+cxzxxerxe+ 73 6.4.4 Phân tích lỗi dựa trên việc dự đoán nhãn dạng câu danh sách
6.5 Đề xuất hệ thống ứng dụng -2+++22E+++t2tEEE+etrtrrkrrrrrrkrrerrrke 79 6.6 Kết luận -cc-22222 2222222221111 cv 84
Trang 7Chương7 KET LUẬN VÀ HƯỚNG PHAT TRIÉN - 86
1A nh ẽ.ẽ ` .ố 86 D2 !.n ẽ :( 87 7.3 Hướng phát tridtr cccccccccscssssesscsssseesssssssssssssesessssseescsssisessssseeesssssessessseeeessss 87
TÀI LIEU THAM KHẢO - 2£ s<2+eseeCEvvseeetvvesererrxesererveserii 88
Trang 8Cấu trúc file APK
Quy trình xây dựng bộ dữ liệu - s55 555cc
Tần suất xuất hiện từ trong bộ dữ liệu -ccccz+ccccvvscccce+ 52
Tần suất xuất hiện từ trong nhãn 1 ¿22c++2cscczzcx 52 Tần suất xuất hiện từ trong nhãn 2 -¿ 2++222++++ccvszrezre 53 Tần suất xuất hiện từ trong nhãn 0 -¿¿-22c+z++tvvvvvvecccee 53
Recurrent Neural Network
Long Short-Term Memory
Ma trận nhằm lẫn nhãn 0 trên tap Dev ccsccccsssssesssssssesccssseccssseescessseeees 70
Trang 9Số lượng nhãn trong bộ dữ liệu - ¿5-6 ++ccsc£erzvsxsrerrreree 46
Số lượng nhãn được chia cho 3 tập Train:Dev:Test - 47
Số liệu thống kê về bộ dữ liệu -¿¿-©22z++22++zrtvvzxeerrrrrseee 48
Phân bó độ dài của bộ dữ liệu -c+z52222vvvzrrrrrtrrrrercccee 49
Kết quả thử nghiệm mô hình -+2++++22+++++2vvsvz+crssree 68 Lỗi sai dự đoán nhằm nhãn - 2 +222++z+222++z+22vszcezrr 72
Trang 10Tỷ lệ hệ điều hành Android được sử dụng -s-++-cecex+ce+ 3
Biểu đồ thé hiện độ đồng thuận nhóm 2 :-cs⁄ 42
Biểu đồ thé hiện độ đồng thuận tổng hợp
Biểu đỗ phân bố nhãn trong bộ dữ liệu ¿sec 46
Biểu đồ số nhãn trong tập Train:Dev:Test -552 47
Biểu đồ số từ trong câu dạng danh sách :-z-+ 50
Dự đoán nhãn dựa trên độ dài câu trên tập Dev - 74
Thời gian huấn luyện 5 mô hình đạt kết quả F1-score cao nhất 75
Thời gian dự đoán nhãn trên tập Test của 5 mô hình 76 Thời gian dự đoán nhãn trung bình trên một câu của 5 mô hình
Thời gian dự đoán nhãn file APK và file mô tả của 5 mô hình T7
Dự đoán nhãn dạng câu danh sách trên tập Dev - 78
Trang 11DANH MỤC TU VIET TAT
STT | Tir viet tắt Mô ta
1 ViDPApp | VietNamese Description & Policy Apps
2 APK Android Package Kit
3 NB Naive Bayes
4 LR Logistic Regression
5 LSTM Long Short Term Memory
6 RNN Recurrent Neural Network
7 RoBERTa | Robustly Optimized BERT Pre-training Aprroach
8 XLM-R XLMRoBERTa
9 BERT Bidirectional Encoder Representations from Transformers
10 ELMo Embeddings from Language Model
11 TF-IDF term frequency — inverse document frequency
12 NLTK Natural Language Toolkit
Trang 12TÓM TAT KHÓA LUẬN
Được sinh ra và lớn lên trong thời đại phát triển vượt bậc, dường như mỗi chúng ta đều tiếp xúc rất nhiều với các vật dụng công nghệ thông minh như: máy
tính, máy tính bảng và đặt biệt là smartphone Theo thống kê được cung cấp bởi Statista! số lượng người dang sử dụng smartphone với con số là 6,648 tỷ người xấp
xi 83.72% dân số của thế giới, trong đó Việt Nam dat ở mức 61,37 triệu người dùng
điện thoại thông minh Bên cạnh đó, thống kê vào tháng 9 năm 2022 của Statcounter? với thế giới nói chung và Việt Nam nói riêng thì con số 68.66% là thị
phần hệ điều hành Android được dùng trên tổng số người sử dụng điện thoại thông minh tại Việt Nam Điều này cho thay các ứng dụng thuộc hệ điều hành Android trở
nên trọng yếu và có xu hướng phát triển bùng nổ ở thời điểm hiện tại Sự việc trên
gây ra nhiều hệ lụy liên quan đến chất lượng của ứng dụng bởi việc đánh cấp dữ liệu từ việc truy cập các quyền nhạy cảm.
Những tinh năng của điện thoại di động giúp chúng lưu trữ các thông tin từ
thông thường đến dữ liệu cá nhân riêng tư quan trọng Trong điện thoại có đủ mọi
loại dữ liệu nhạy cảm từ video, tin nhắn, hình ảnh, cho đến tài khoản ngân hàng hay
dữ liệu duyệt web Thậm chí cơ chế định vị GPS, hay micro của điện thoại thông
minh cũng là thứ nhạy cảm Do đó, Cơ chế phân quyền có vai trò quan trọng quyết định đến tính năng cũng như sự an toàn của người sử dụng thiết bị Tuy nhiên, đối
với người dùng không phải ai cũng có sự hiểu biết về quyền và ý nghĩa của nó,
được thê hiện qua nghiên cứu [1] Lợi dụng điều này, những ứng dụng được tải về máy có thé khai thác thông tin cá nhân, đánh cắp dữ liệu và tài sản của người sử
dụng thiết bị Ví dụ điển hình với một số ứng dụng như: Xem lịch âm nhưng lại yêu cầu quyền truy cập hệ thống vị trí GPS, micro thậm chí là máy ảnh và thực chất đó
là một ứng dụng theo doi hành vi người dùng Ngoài ra còn có một số ứng dụng
1 https://danviet.vn/bat-ngo-thu-hang-luong-nguoi-su-dung-smartphone-o-viet-nam-2022042120003727.htm
?https://gs.statcounter.com/os-market-share/mobile/viet-namhttps://gs.statcounter.com/os-market-share/mobile/worldwide
Trang 13thực hiện hành vi lợi dụng quyên truy cập Send_SMS để thực hiện hành vi đăng ký trái phép hoặc gửi tiền đến số danh bạ lạ nhằm chiếm đoạt tài sản của người dùng.
Chính bởi sự bùng né về các ứng dụng Android và việc thiếu hiểu biết cũng như phớt lờ sự quan tâm về quyền của ứng dụng [1] Cùng với cộng đồng xử lý ngôn ngữ tự nhiên tiếng Việt đang thiếu hụt và không đa dạng về các bộ dữ liệu cho
nghiên cứu bài toán phân loại văn bản với dữ liệu liên quan đến thông tin mô tả và
privacy policy (chính sách riêng tư) của ứng dụng Điều cấp bách là cần xây dựng một bộ dữ liệu chất lượng và nghiên cứu thành công một mô hình tốt đề giải quyết bài toán phát hiện sự thiếu nhất quán giữa hành vi rút trích từ mô tả và privacy
policy của ứng dụng và hành vi rút trích từ mã nguồn của ứng dụng (APK).
Chính vì lẽ đó, trong khóa luận tốt nghiệp này, tôi đã xây dựng bộ dữ liệu chứa các câu mô tả và privacy policy của ứng dụng trên miền dữ liệu tiếng Việt về
da thể loại có tên là ViDPApp Bộ dữ liệu gồm 12,961 mẫu được lấy từ các file mô
tả và privacy policy của những ứng dụng với chủ đề khác nhau trên Google Play.
Mục đích của tôi khi xây dựng bộ dữ liệu này là phục vụ cho bài toán nhận diện sự
mâu thuẫn giữa hành vi của ứng dụng android và mô tả Bên cạnh đó, tôi muốn tạo
sự phong phú cho các tập dữ liệu tiếng Việt và thúc đây nhiều nghiên cứu trong lĩnh
vực xử lý ngôn ngữ tự nhiên cũng như bai toán cùng chủ dé trong tương lai Ngoài
ra, tôi tiến hành nghiên cứu đánh giá bộ dữ liệu ViDPApp trên nhiều phương pháp
đến các mô hình từ đơn giản đến phức tạp như Naive Bayes (NB), Logistic
Regression, LSTM, PhoBERT va mBERT, Các kết qua thu được là co sở dé đánh giá và phân tích chất lượng của bộ dữ liệu, đồng thời giúp tìm ra được mô hình phù hợp mang lại kết quả tốt cho bài toán Tiếp theo, tôi tổng hợp, thống kê, phân
tích và so sánh kỹ lưỡng các kết quả đề tìm ra một mô hình cho kết quả tốt nhất.
Cuối cùng là xây dựng hệ thông mô hình và website demo hệ thống của bài toán.
Trang 14MỞ DAU
Lý do chọn đề tài
Với sự phát triển của công nghệ di động, thiết bị di động đã trở thành một
phan không thé thiếu trong cuộc sống của chúng ta Chúng cung cấp nhiều chức năng hữu ích thông qua các ứng dụng như: viết e-mail, thanh toán ví điện tử, xem
video truyền hình trực tuyến, Theo thống kê? năm 2019, có 86.7% thị trường toàn
cầu sử dụng điện thoại thông minh Android và con số này dự kiến sẽ đạt 87.1% vào
năm 2023 Bên cạnh đó, trong quý 2 năm 2019 đã có gần 2,5 triệu ứng dụng có sẵn
trên thị trường Android (Google Play) - xu hướng này cũng làm cho các ứng dụng
di động Android (Apps) trở thành một sự bùng né lớn Với sự gia tăng số lượng các
ứng dụng di động, các nhà phát triển phần mềm độc hại di động cũng đã xuất hiện
để gây hại cho các thiết bị và lấy cắp thông tin của người dùng di động Điền hình là
vụ bê bối dữ liệu Facebook — Cambridge Analytica, các thông tin của 87 triệu khách
hang đã bị lấy và khai thác bat hợp pháp cho mục đích không tốt Theo Báo cáo về mối đe dọa trên thiết bị di động của McAfee®, phần mềm độc hại di động đã tiếp tục
gia tăng về phạm vi và mức độ phức tạp trong năm 2019.
Một tuyến phòng thủ chính chống lại những cuộc tấn công từ các phần mềm
độc hại là ngăn chúng xâm nhập vào các App Market Hai loại kỹ thuật phân tích và
phát hiện phần mềm độc hại phổ biến là phân tích tĩnh và phân tích động Thông
thường các giải pháp bảo mật trên thiết bị di động được gọi là hệ thống chống phần
mềm độc hại chủ yếu dựa vào phân tích tĩnh Mặt khác, được biết Google Play Protect sử dụng cả hai kỹ thuật để phân tích ứng dụng trên thị trường ứng dụng
Android [7].
3 https://www.statista.com/statistics/272307/market-share-forecast-for-smartphone-operatingsystems/
Ý https://www.statista.com/statistics/276623/numberof-apps-available-in-leading-app-stores/
Š https://www.mcafee.com/enterprise/enus/assets/reports/rp-mobile-threat-report-20 19.pdf.
Trang 15Một trong những điểm chính của cơ chế bảo mật Android là quyền Các ứng dụng Android phải yêu cầu quyền dé truy cập dữ liệu nhạy cảm của người dùng (chang hạn như danh bạ, nhật ký cuộc gọi và SMS) và một số tinh năng hệ thông” Các quyền mà ứng dụng yêu cầu phải được liệt kê trong bảng kê khai của ứng dụng.
Nếu ứng dụng yêu cầu một quyền nguy hiểm có thể ảnh hưởng đến quyền riêng tư của người dùng hoặc hoạt động bình thường của thiết bị, thì quyền đó phải được
người dùng cấp trực tiếp Trong những năm gần đây, các nghiên cứu sử dụng siêu
dữ liệu (file mô tả, policy, điểm và đánh giá của người dùng) để phát hiện phần
mềm độc hại đã được giới thiệu [8] [9] Nó sử dụng các siêu dữ liệu này nhằm phát
hiện sự mâu thuẫn giữa quyền và mô tả của các ứng dụng [10] - [12] Phương pháp mới này có thể được sử dụng như một cách tiếp cận bổ sung cho các kỹ thuật phân
tích động và tĩnh khác.
Ngoài ra, tôi nhận thấy trên thế giới có nhiều bộ dữ liệu kích thước lớn và
chất lượng tốt cho các nghiên cứu về lĩnh vực xử lý ngôn ngữ tự nhiên (NLP) va cụ
thể là phân loại văn bản Tuy nhiên, cộng đồng nghiên cứu chủ yếu tập trung vào các ngôn ngữ phé biến như tiếng Anh, tiếng Trung, Vì vậy, bộ dữ liệu tiếng Việt
đặc biệt là về các nội dung của file mô tả cũng như policy dường như không có.
Từ những điều đó, tôi nắm bắt được tầm quan trọng của bài toán cũng như sự
cần thiết đối với các đề tài cần cùng dữ liệu sau này Chính vì lẽ đó, tôi đã quyết
tâm thực hiện nghiên cứu bài toán phân loại văn bản với việc nhận diện mâu thuẫn giữa hành vi của ứng dụng Android và mô tả của chúng trên miền dữ liệu tiếng
Việt.
Mục tiêu nghiên cứu
Mục tiêu của khóa luận tốt nghiệp này là nghiên cứu bài toán nhận diện sự
mâu thuẫn giữa hành vi của ứng dụng android và mô tả của chúng trên miền dữ liệu
tiếng Việt Dé làm được điều này, tôi tập trung 3 mục tiêu chính:
® https:// developer.android.com/guide/topics/ permissions/overview
Trang 16- Thi nhất, Xây dựng bộ dữ liệu cho bài toán phân tích sự mâu thuẫn giữa
hành vi của các ứng dung android và mô tả của chúng trên miễn dữ liệu tiếng
Việt Bộ dữ liệu tốt về mặt chất lượng lẫn về mặt số lượng và cống hiến cho
những nghiên cứu liên quan cùng chủ đề nếu cần bộ dữ liệu tiếng Việt Bêncạnh đó, tôi thực hiện các phương pháp tiền xử lý dé thu thập được bộ dữliệu sạch sau đó sử dụng những cách thức khác nhau dé phan tich chi tiết đặc
điểm của bộ dữ liệu
Thứ hai, Nghiên cứu các mô hình, các kỹ thuật có liên quan đến bài toánphân loại văn bản dé áp dụng cho việc giải quyết bài toán đặt ra Chạy thửnghiệm dé kiểm chứng độ chính xác và đánh giá hiệu suất của các mô hình
được chọn trên bộ dữ liệu đã xây dựng.
Cuối cùng, xây dựng một ứng dụng demo nhỏ để trực quan hóa kết quả mô
hình có kết quả cao nhất trên bộ dữ liệu
Đối tượng nghiên cứu
- Bài toán phân loại văn ban tiêng Việt cho việc nhận dạng sự mâu thuẫn giữa
hành vi của ứng dụng Android và mô tả của chúng.
- _ Các mô tả và hành vi của ứng dụng tiếng Việt
Phạm vi nghiên cứu
Miền dữ liệu tiếng Việt
Những ứng dụng với nhiều chủ đề khác nhau trên chợ ứng dụng CH Play Lý
do tôi chọn CH Play làm nguồn dữ liệu bởi đây là cửa hàng của Google Play,
có mặt trên 190 quốc gia từ những vùng lãnh thổ nhỏ đến lớn trên phạm vi
toàn thế giới với nhiều thể loại ứng dụng, trò chơi được cung cấp từ chợ ứng
dụng này Vì thế, đây là nơi có nhiều ứng dụng dé dàng khai thác, vô cùng đa
dạng và phong phú, các ứng dụng mới được cập nhật cũng như đăng tải mỗi ngày, phản ánh kịp thời, giúp dễ dàng phân tích chuyên sâu cũng như đúng
thực trạng hiện tại của bài toán được đặt ra.
Trang 17- Vé giới hạn nghiên cứu, tôi khai thác các van dé sau:
e Xây dựng bộ dữ liệu đủ lớn và chất lượng với hình thức có câu mô tả
và nhãn tương ứng.
e Nghiên cứu thử nghiệm và đánh giá các các phương pháp trải dài từ
truyền thống cho đến hiện đại trên bộ dữ liệu được xây dựng
e Xây dựng hệ thống tạo ra một mô hình cho hiệu suất cao nhất
Kết quả nghiên cứu
Sau khi nghiên cứu bài toán của khóa luận tốt nghiệp lần này, tôi đạt đượccác kêt quả sau:
- _ Đóng góp lớn nhất của chúng tôi là xây dựng bộ dữ liệu trên về các mô tả và
chính sách của ứng dụng có tên ViDPApp trên miền tiếng Việt bao gồm12,961 mẫu dữ liệu Bộ đữ liệu đã được xử lý, kiểm tra các lỗi để đưa ra bộ
dữ liệu sạch cho bài toán Bộ dữ liệu là yếu tố không thể thiếu cho quá trìnhxây dựng mô hình cho bài toán.
- Đóng góp mô hình, chúng tôi thực hiện thực nghiệm trên các mô hình học
máy từ đơn giản đến phức tạp dé đánh giá bộ dữ liệu ViDPApp và chon môhình nào có khả năng dự đoán tốt nhất làm tiền đề cho hệ thống của bài toán
- Dong góp ứng dung demo về việc phân tích quyền trong câu, và kiểm tra độ
trung thực của mô tả và chính sách của ứng dụng có khớp với việc khai báo
quyền trong file APK của ứng dụng
Cấu trúc khóa luận
Khóa luận gồm 7 chương với các nội dung chính sau:
- Chương 1: Tổng quan
Giới thiệu tổng quan về bài phân loại văn bản, các thách thức phải đối mặt,tầm quan trọng cũng như tính ứng dụng của đề tài mà tôi thực hiện
Trang 18- _ Chương 2: Cơ sở lý thuyết
Chương này tôi tìm hiểu về các cơ sở lý thuyết mà mình thực hiện cho cácchương ở phía sau.
- _ Chương 3: Các công trình nghiên cứu liên quan
Tôi thực hiện nghiên cứu và trình bày các công trình nghiên cứu có cùng đề
tài với bài toán về khía cạnh những nghiên cứu đã làm được trước đó trên nền tảng
tiếng Anh (vì chưa có trên tiếng Việt) Bên cạnh đó, tôi còn thực hiện nghiên cứu
những bộ dữ liệu đã được tạo cho bài toán nhận diện sự mâu thuẫn giữa hành vi của
ứng dụng android và mô tả dé dựa vào đó phát triển cho bộ dữ liệu được trình bày ởChương 4.
- _ Chương 4: Bộ dữ liệu
Ở chương 4, tôi mô tả quy trình các bước tạo bộ dữ liệu, từ thu thập dữ liệu,tiền xử lý, các quy định, quy tắc trong quá trình thực hiện chỉnh sửa, cải thiện chất
lượng bộ dữ liệu Tiếp đó, từ bộ dữ liệu thu được, chúng tôi phân tích rõ các đặc
điểm của bộ dữ liệu bằng các phương pháp thống kê (số lượng câu, số nhãn, độ dài
của câu, các từ đặc trưng của bộ dit liệu và tập nhãn).
- _ Chương 5: Các mô hình sử dung
Chương này tôi thực hiện tìm hiệu các nội dung liên quan đên các mô hình
mà mình lựa chọn dé phục vụ cho chương 6
- Chương 6: Cai đặt, kết quả và đánh giá
Trong chương 6, tôi sẽ trình bày các bước của giai đoạn tiền xử lý dữ liệu,các tham số cài đặt cho các mô hình, kết quả của các mô hình, đánh giá nhận xét cáckết quả thu được, và cuối cùng phân tích lỗi
- _ Chương 7: Kết luận va hướng phát triển
Trình bày các kết quả thu được trong khóa luận tốt nghiệp này Các mặt hạn
chế cũng như là các hướng phát trién và mở rộng đề tài trong tương lai
Trang 19Chương 1 TONG QUAN DE TÀI
1.1 Bài toán phan loại văn ban
Nhằm mục dich sử dụng dé thực hiện phân loại văn bản Đây thực chất làmột bài toán supervised learning (học có giám sát) trong machine learning (hoc
máy), bởi lẽ các văn bản này đã được thực hiện gán nhãn Với mục tiêu dự đoán
xem một văn bản thuộc thé loại nào, thì một hệ thống phân loại văn bản phải đạtđược việc phân loại một văn bản cho trước Sau đây là một số ví dụ về những ứngdụng mà một hệ thống phân loại văn bản có: phân loại các bai báo điện tử, phân loại
các bình luận của khách hàng trên nền tảng thương mại điện tử là spam hoặc không
spam, đánh bình luận người dùng Facebook hoặc Twitter,
Hiện nay các đề tài về phân loại văn bản như phân loại bình luận mạng xãhội Facebook, Twitter, phân loại email, các bai báo điện tử được phát triển mạnh
mẽ trên cả tiếng Anh, tiếng Trung, tiếng Việt, và các thứ tiếng khác Tuy nhiên,Trong khóa luận tốt nghiệp này, với bài toán nhận diện sự mâu thuẫn giữa hành vicủa ứng dụng android và mô tả thì dường như chưa có ai thực hiện trên miền dữ liệu
tiếng Việt Dựa vào nhiều cách tiếp cận, tôi tìm hiểu và thực hiện chạy model từ
đơn giản đến phức tạp cho bài toán, sau đó đúc kết và tự thiết lập cho mình một hệthong riêng dé tối ưu hóa bài toán đặt ra Sau khi thực hiện xong bài khóa luận, tôimong mang đến một ứng dụng giúp người dùng cuối có thể kiểm tra được tính nhất
quán giữa hành vi của ứng dụng android và mô tả của chúng.
Mô tả đầu vào và đầu ra của bài toán:
- PAu vào (Input) gồm có hai luồng:
e Doan nội dung mô tả hoặc chính sách của một ứng dung.
e File APK của một ứng dụng.
- Đầura (Output): Ung dung có mâu thuẫn hoặc không mâu thuẫn
Trang 20Ngoài ra, Zody có các tính năng:
——* | Ngoài ra, Zody có các tir
tích điểm.
D6 các nơi có các khuyên mãi quanh bạn.
- Nhăn tin với chủ quan dé gửi những phản hồi.
Gia nhập vòng quay smartphone, iphone cho khách hang
ca hệ chúng tôi qua email: zody@gmail.com
(4 Zody là một ứng dụng của hệ điêu hành Android giúp người dũng `) ị APK
tiêp cận được đên các phân thưởng trong hoạt động hăng ngày k
Z
(G 5 m và 1¬ hâê cả —
1 Zody là một ứng dung của hệ điêu hành
ời dùng tiếp cận được đến
Hình 1- 1 Mô tả bài toán
File mô tả hoặc :
chính sách :
Nhãn 0 (Not): câu không có quyền.
Nhãn 1 (Source): câu có liên quan
đến quyên truy cập dữ liêu người
dùng
Nhãn 2 (Sink): câu có liên quan đến quyền gửi dữ liệu người dùng.
M6 tả bài toán: Dữ liệu các App được lấy từ CH Play Dựa trên một App ta sẽ lay
dữ liệu của 3 file là Description (mô tả), Policy (chính sách) và APK để phục vụ bài
toán Ta có thể hình dung bài toán được giải quyết theo các bước sau:
- B1: Đầu vào là một Passage (nội dung lần lượt là file Description (mô tả)
hoặc Policy (chính sách)).
- B2: Thực hiện tách Passage thành các câu và dự đoán lân lượt các câu với
các nhãn trên câu tương ứng Đầu ra sẽ là một danh sách nhãn (1)
- B3: File APK được đưa vào Androguard cho ra một danh sách nhãn (2).
- B4: Kiểm App đó có lạm dụng quyền bằng việc đối chiếu giữa (1) và (2) có
cùng các quyền với nhau không Nếu cùng các quyền thì App đó không mâu
thuẫn và ngược lại.
- Dau vào:
Vi du 1 (Nội dung mô ta một App có quyên):
1 Zody là một ứng dụng được tạo ra giúp người dùng tiếp cận được đếncác phan thưởng trong hoạt động hang ngày
Trang 21Ngoài ra, Zody có các tinh năng:
- D6 các nơi có các khuyến mãi quanh bạn
- Nhan tin với chủ quán dé gửi những phản hôi
- Gia nhập vòng quay smartphone, iphone cho khách hàng tích
điểm
Liên hệ chúng tôi qua email: zody@ gmail.com
- Với đoạn văn bản trên có các dòng sau có các câu liên quan đến các quyền:
e_ Dò các nơi có các khuyến mãi quanh bạn (quyền Location) —> Nhãn
xử lý dữ liệu bằng cách tách đoạn thành câu trên văn bản tiếng Việt Dành nhiều
thời gian đê thực hiện training cho các annotators phục vụ cho việc gan nhãn trên
10
Trang 22các mẫu dữ liệu Vì thế, việc xây dựng bộ dữ liệu đủ lớn cả về số lượng cũng như
về chat lượng thi sẽ tôn rat nhiêu thời gian và công sức.
Các mô hình của bài toán phân loại văn bản phức tạp, khó hiểu và khó triển
khai Hơn thế, đây là một bài toán khá mới mẻ ở Việt Nam, tài liệu tham khảo cũngnhư tài nguyên về lĩnh vực này chủ yếu trên tiếng Anh, trong khi đó trên tiếng Việt
không có bài nghiên cứu trước đó, việc này gây khó khăn trong quá trình tìm hiểu
và nghiên cứu bài toán.
Ngoài ra, tiếng Việt mang những đặc điểm, độ khó nhất định (ví dụ như từghép, từ đa nghĩa) Việc xử lý ngôn ngữ tiếng Việt cũng là một thách thức lớn đòi
hỏi tôi không ngừng tìm tòi, nghiên cứu.
1.3 Tính ứng dụng của đề tài
Nhận diện sự mâu thuẫn giữa hành vi của ứng dụng android và mô tả có tính
ứng dụng cao và mang lại ý nghĩa to lớn cho xã hội, bởi vì:
- Pau tiên, với việc xây dựng một bộ dữ liệu mới, tôi đã có sự đóng góp và
góp phần làm giàu nguồn dữ liệu cho lĩnh vực xử lý ngôn ngữ tự nhiên tiếngViệt Bởi vì, ở thời điểm hiện tại, số lượng các bộ dữ liệu chất lượng tiếng
Việt phục vụ cho cộng đồng vẫn còn khá ít và không đa dạng Không những
thế, bộ dữ liệu trong dé tài về mô tả và chính sách của ứng dụng trên miền dữliệu tiếng Việt vô cùng hạn chế Chính vì thế, việc xây dựng một bộ dữ liệumới sẽ góp phần bổ sung và thúc day những nghiên cứu sau này của lĩnh vực
xử lý ngôn ngữ tự nhiên tại Việt Nam nói chung và bài toán cùng đề tài nóiriêng Tiếp đó, tôi cũng sẽ thực hiện chạy thử nghiệm các mô hình nhằm mục
đích đánh giá bộ dữ liệu đã tạo và lựa chọn mô hình tốt nhất dé tạo một hệthông nhăm trực quan hóa cho bài toán của mình.
- Đối với Appstore, họ thực hiện các phương pháp kiểm tra những quyền có
trong ứng dụng được khai báo trong file APK và file mô tả có khớp với nhau
hay không, những ứng dụng khi được phát hành chính thức trên Appstoređều được kiểm tra ở phương diện này Tuy nhiên, CH Play thì không như
lãi
Trang 23vậy và người dùng cuối sẽ phải làm điều này Họ phải thực hiện đọc các nội
dung mô tả để xem các ứng dụng có yêu cầu cấp những quyền nằm ngoài
phạm vi tính năng hay không, nhưng thông thường một người dùng tải các
ứng dụng Android thì sẽ hiếm đọc những nội dung mô tả của ứng dụng hoặcnếu có đọc thì cũng sẽ khó khăn trong việc xác định những quyền mà ứngdụng có thể yêu cầu Đây cũng chính là một trong những nguyên nhân dẫn
đến dữ liệu riêng tư của người dùng bị truy cập hoặc đánh cấp khi sử dụngmột ứng dụng không an toàn nào đó Vì thé, dé tài của tôi có thé phát triển
thành một ứng dụng nhằm phát hiện sự mâu thuẫn giữa hành vi và mô tả trực
tuyến Ứng dụng này chắc chắn mang lại sự tiện lợi, hữu ích Ngoài ra, còn
có thê hỗ trợ các nhà nghiên cứu bảo mật, store market kiểm tra nhanh những
sự không đồng nhất giữa hành vi và mô tả của ứng dụng Điều này giúp
người dùng cuối thực hiện tải ứng dụng trở nên an toàn hơn.
1.4 Kết luận
Phân loại văn ban là một trong những bài toán mang lai giá tri to lớn và dang
nhận được sự quan tâm nhiều trong thời gian gần đây vì tính ứng dụng cao và tầmquan trọng của nó Đề xây dựng được một ứng dụng nhận diện sự mâu thuẫn giữa
hành vi và mô tả tự động thì phải có sự kết hợp đồng thời của cả hai yếu tổ thenchốt, đó là bộ dữ liệu và mô hình Những mô hình sẽ phát huy được sức mạnh tốt
nhất khi bộ dữ liệu đủ nhiều và chất lượng Mặt khác, hiện nay dữ liệu để nghiêncứu cho lĩnh vực này chủ yếu có trên tiếng Anh, nhưng đối với tiếng Việt còn khákhan hiếm Bên cạnh đó, những nghiên cứu về bài toán trên tiếng Việt cũng chưa
thực sự nhiều Chính vì thế, tôi thực hiện bài toán này nhằm hướng tới giải quyết
các van dé này thông qua việc xây dựng bộ dir chứa những câu mô tả và chính sách
của ứng dụng cho miền dữ liệu tiếng Việt kết hợp triển khai trên nhiều mô hình để
đánh giá kết quả
12
Trang 24Chương 2 CƠ SỞ LÝ THUYET
2.1 Hệ điều hành Android
2.1.1 Định nghĩa
“Đây là hệ điều hành di động dựa trên phiên ban sửa đổi của nhân Linux vàcác phần mềm mã nguồn mở khác Hệ điều hành Android thiết kế đặc trưng dành
cho những thiết bị di động màn hình cảm ứng Điển hình như: máy tính bảng và
điện thoại thông minh””.
Theo thống kê thì hệ điều hành Android ké từ thời gian ra mắt cho đến thời
điêm hiện tại có các phiên bản như sau được thê hiện qua tỷ lệ sử dụng của các
phiên ban’:
OQ GPie OOreo GNougat OMarshmallow GLollipop EKitKat OJelly Bean OR
Biểu đồ 2- 1 Tỷ lệ hệ điều hành Android được sử dụng
Theo thông số tỷ lệ của biểu đồ, Android 10 Q là phiên bản hệ điều hành phổbiến nhất trên điện thoại thông minh với 26.5% điện thoại đang chạy hệ điều hành
7 https://www.javatpoint.com/android-operating-system
8
https://timesofindia.indiatimes.com/gadgets-news/this-is-the-most-popular-android-version-on-smartphones/articleshow/87864466.cms
13
Trang 25này Android 11 đang đứng ở vi trí thứ hai với ty lệ là 24.2% Các phiên bản cũ hơn
van còn khá phô biến trên các thiết bị Điển hình là Android 9 Pie có trên 18.2% tỷ
lệ và Android 8 Oreo là 13.7% Dựa vào các thông số, ta có thể phỏng đoán được
phần nào về xu hướng sử dụng phiên bản hệ điều hành Android Thị phần phiên bản
từ Android 6.0 trở lên đang dan thay thé các phiên bản trước đó Vì các phiên bản từ6.0 trở lên không những cung cấp nhiều tính năng cho người dùng mà còn mang
tính riêng tư bảo mật cho điện thoại bởi việc sử dụng quyền trong ứng dụng Hiểu
đơn giản, thay vì các ứng dụng được cho phép truy cập vào những dữ liệu riêng tư
của người như: hình ảnh, vi trí, danh ba, đối với hệ điều hành trước đó khi ngườidùng chấp nhận tải về một phần mềm, ứng dụng Thì với phiên bản Android 6.0 trởlên, người dùng có thé quyết định quyền truy cập cho ứng dụng Việc này góp phannâng cao tính bảo mật và quyền riêng tư cho người ding cuối
2.1.2 Đặc điểm của hệ điều hành AndroidDưới đây là những đặc điểm của hệ điều hành Android, gồm có:
Lưu trữ và
NFC E——* :
hoàn doi pin
Truyén Tuy chinh
không dây ROM
Hình 2- 1 Đặc điểm hệ điều hành Android
NFC (Near Field Communication): Hau hết các thiết bị Android đều hỗ trợ NFC,
cho phép các thiết bị điện tử tương tác trong khoảng cách ngắn một cách dé dang
14
Trang 26Mục tiêu chính ở đây là tạo ra một tùy chọn thanh toán đơn giản hơn so với việc
mang theo tiền mặt hoặc thẻ tín dụng và trong khi thị trường không bùng nỗ như
nhiều chuyên gia đã dự đoán, có thé có một giải pháp thay thé đang hoạt động, dướidạng Bluetooth Low Energy (BLE).
Truyền hồng ngoại: Hệ điều hành Android hỗ trợ bộ phát hồng ngoại tích hợp chophép bạn sử dụng điện thoại hoặc máy tính bang của mình làm điều khién từ xa
Tự động hóa: Ứng dụng Tasker cho phép kiểm soát các quyền của ứng dụng vàcũng tự động hóa chúng.
Tải ứng dụng không dây: Bạn có thể tải xuống các ứng dụng trên PC của mìnhbằng cách sử dụng Android Market hoặc các tùy chọn của bên thứ ba nhưAppBrain Sau đó, nó sẽ tự động đồng bộ hóa chúng với Droid của bạn và không
cân căm.
Lưu trữ và hoán đổi pin: Điện thoại Android cũng có khả năng phần cứng độcđáo Hệ điều hành của Google cho phép nâng cấp, thay thế và tháo pin không còn
sạc được nữa Ngoài ra, điện thoại Android còn có khe cắm thẻ SD để mở rộng
dung lượng lưu trữ.
Tùy chỉnh màn hình chính: Mặc dù có thé hack một số điện thoại nhất định dé tùychỉnh màn hình chính, nhưng Android đã cung cấp khả năng này ngay từ đầu Tảixuống trình khởi chạy của bên thứ ba như Apex, Nova và bạn có thé thêm cử chi,phím tắt mới hoặc thậm chí là cải tiến hiệu suất cho các thiết bị kiểu cũ hơn
Tiện ích: Các ứng dụng rất linh hoạt, nhưng đôi khi bạn muốn có thông tin trongnháy mắt thay vì phải mở một ứng dụng và đợi nó tải Tiện ích Android cho phépbạn hiền thị bat ky tính năng nao bạn chọn trên màn hình chính, bao gồm ứng dụng
thời tiết, tiện ích âm nhạc hoặc công cụ năng suất giúp nhắc bạn một cách hữu ích
về các cuộc họp sắp tới hoặc thời hạn sắp tới.
Tùy chỉnh ROM: Vì hệ điều hành Android là mã nguồn mở nên các nhà phát triển
có thé thay đổi hệ điều hành hiện tại và xây dựng các phiên ban của họ mà người
15
Trang 27dùng có thé tải xuống và cài đặt thay cho hệ điều hành gốc Một số chứa day các
tính năng, trong khi một số khác thay đổi giao diện của thiết bị Rất có thể, nếu bạn
muốn một tính năng nào đó, thì ai đó đã tạo sẵn một ROM tùy chỉnh cho tính năng
đó.
2.1.3 Cấu trúc hệ điều hành Android
Là một tập hợp được chia thành năm phần và bốn lớp chính từ các thànhphan phần mềm”, cau trúc hệ điều hành được trình bay như bên dưới:
Hình 2- 2 Cấu trúc hệ điều hành Android
? https://www.javatpoint.com/android-operating-system
16
Trang 28Là lớp cao nhất của kiến trúc Android Có những ứng dụng đã được cài đặt
có sẵn như máy ảnh, thư viện, trang chủ, danh bạ, và những ứng dụng từ bên thứ
ba từ cửa hàng trò chơi như trò chơi, các phần mềm trò chuyện, sẽ cài đặt ở lớpapplication này.
Nó chạy trong thời gian chạy Android với sự trợ giúp của các lớp và dịch vụ
do khung ứng dụng cung cấp
Application Framework
Được cung cấp một số lớp quan trong bởi Application Framework nhằm mục
đích sử dụng dé tạo một ứng dung Android Bên cạnh đó, Application Framework
không những giúp việc quản lý giao diện người dùng với những tài nguyên ứng
dụng, mà còn giúp truy cập phần cứng bởi việc cung cấp một sự trừu tượng Nóichung, Application Framework sẽ cung cấp những dịch vụ mà chúng ta có thê tạomột lớp cụ thé và làm cho lớp đó hữu ích cho việc tạo ứng dụng
Application Framework có nhiêu loại dịch vụ, chăng hạn như: activity
manager, notifications manager, view system, resource manager, giúp ích cho sự
phát triển ứng dụng theo điều kiện tiên quyết
Dưới dạng các lớp Java, Application Framework sẽ cung cap các dịch vụ cap
cao Bên cạnh đó, các dịch vụ này sẽ được nhiêu nhà phát triên sử dụng cho ứng
dụng của mình Các dịch vụ của Android framework gôm có:
- Activity Manager: Các ngăn xếp hoạt động và khía cạnh của vòng đời ứng
dụng được kiểm soát bởi - Activity Manager
- Content Providers: Ứng dụng được quyền chia sẻ các dữ liệu với những
ứng dụng khác và có quyên xuất bản
- Resource Manager: Cung cấp quyên hạn truy cập vào các tài nguyên được
nhúng không mã như bô cục giao diện người dùng và chuôi, cai đặt màu.
17
Trang 29- Notifications Manager: Ứng dụng được quyền hiển thị cảnh báo và thông
báo cho người dùng.
- View System: Một tập hợp các chế độ xem có thé mở rộng được áp dụng
nhằm mục đích tạo giao diện người dùng ứng dụng
Android Runtime
Android Runtime là thành phần ở vị trí thứ 3, ở vị trí lớp 2 được tính từ phía
dưới lên Môi trường Android Runtime gồm máy ảo Dalvik (DVM) và thành phần
như thư viện lõi.
Giống như May ảo Java (JVM), Máy ảo Dalvik (DVM) là một máy ảo dựa
trên đăng ký được tối ưu hóa và thiết kế cho Android nhằm mục đích giúp chạy
nhiều phiên bản hiệu quả hơn cho một thiết bị.
Với mục tiêu quản lý và phân luồng bộ nhớ cấp thấp nên Android Runtimephụ thuộc vào lớp nhân Linux Các thư viện cốt lõi cho phép chúng tôi triển khaicác ứng dụng Android bằng ngôn ngữ lập trình JAVA hoặc Kotlin tiêu chuẩn
Libraries
Các thư viện dựa trên Java được nằm ở phần này Gồm có các khung thưviện (Framework Library) giúp truy cập cơ sở dữ liệu, vẽ đồ họa và xây dựng mộtcách dé dàng Một s6 Android Library cốt lõi được trình bay đưới đây là có sẵn cho
các lập trình viên Android:
- android.application: Là nền tảng của tat cả các phần mềm Android, cung cấp
quyên truy cập vào mô hình ứng dụng
- android.content: Tạo điều kiện nhắn tin, truy cập, và xuất bản nội dung giữa
thành phần ứng dụng và các ứng dụng
- android.opengl: Java Interface cho OpenGL ES 3D thông qua API.
- android.os: Cho phép những ứng dụng về quyền truy cập vào các dịch vụ hệ
điều hành tiêu chuẩn, bao gồm giao tiếp nội tiếng trình, tin nhắn và dịch vụ
hệ thông
18
Trang 30- android.text: Thực hiện thao tác và hiển thị các văn bản trên màn hình.
- android.database: Có các lớp quản lý CSDL (cơ sở dữ liệu) SQLite và được
dùng nhằm mục đích truy cập vào dữ liệu do nhà cung cấp nội dung xuất
bản.
- android.view: Các khối xây dựng nền tảng của giao diện người dùng phan
mềm.
- Phuong tiện: Thư viện phương tiện cung cấp hỗ trợ dé phát và ghi định dạng
âm thanh và video.
android.widget: Gồm có các component (thành phần) giao diện người dùng
được xây dựng có sẵn như radio button, list view, label, button, layout
manager,
- android.webkit: Các kha năng duyệt web được tích hợp vào những ứng dụng
được cho phép bởi một tập hợp các lớp.
- _ Trình quản lý bề mặt: Chịu trách nhiệm quan lý quyền truy cập vào hệ thống
hiển thị
- SQLite: Nó cung cấp hỗ trợ co sở dữ liệu và FreeType cung cấp hỗ trợ
phông chữ.
- SSL: Lớp công bảo mật là công nghệ bảo mật đề thiết lập liên kết được trình
duyệt web và mã hóa giữa máy chủ web.
Linux Kernel
Linux Kernel được xem là tầng thấp nhất Đảm nhiệm việc quản lý tất cả các
trình điều khiển có sẵn như màn hình, máy ảnh, Bluetooth, âm thanh, bộ nhớ, được yêu cầu trong thời gian chạy Bên cạnh đó, Linux Kernel còn giúp gỡ bỏ
những khó khăn về mặc giao tiếp với các thiết bị ngoại vi bằng việc thực hiện quản
lý driver và mạng của các thiết bị
Nhân Linux thực hiện cung cấp một lớp trừu tượng giữa các thành phần kiếntrúc Android khác và phần cứng thiết bị Ngoài ra, còn chịu trách nhiệm quản lý
nguôn, bộ nhớ và thiệt bi, Các tính năng của nhân Linux là:
19
Trang 31- Bao mật: Nhân Linux xử lý bảo mật giữa ứng dụng và hệ thống.
- Quan lý bộ nhớ: Nó xử lý hiệu quả việc quản lý bộ nhớ, do đó cung cấp sự tự
do đề phát triển ứng dụng
- Quản lý quy trình: Nó quản lý quy trình tốt, phân bổ tài nguyên cho các quy
trình bất cứ khi nào chúng cần
- Ngan xếp mang: Nó xử lý hiệu quả giao tiếp mạng
- M6 hình trình điều khiển: Nó đảm bảo việc hoạt động bình thường của ứng
dụng trên thiết bị và nhà sản xuất phần cứng chịu trách nhiệm xây dựng trìnhđiều khiển của họ vào ban dựng Linux
2.1.4 Tập tin APK
Giống như hệ thống Windows sử dụng tệp exe dé phuc vu cho viéc cai dat
phan mềm thi tập tin APK (Android Package Kit) được hệ điều hành Android sử
dụng để giúp cho việc phân phối và cài đặt các phần mềm di động
Cấu trúc của APK!?:
L————> lib
Hình 2- 3 Cau trúc file APK
!9 https://vncoder.vn/bai-hoc/permission-trong-android- 124
20
Trang 32Thư mục META-INE: Siêu dữ liệu cho các ứng dụng được lưu trữ trong thư
mục META-INF Thư mục này chứa các tệp như bảng kê khai, chứng chỉ va
danh sách tài nguyên.
lib: Mã ứng dụng được biên dịch độc lập với nền tảng được chứa trong thư
mục lib, thư mục này cũng chứa nhiều thư mục khác Thư mục lib chứa các
thư mục sau:
e armeabi: Các mã được xây dựng của Armeabi dành cho bộ xử lý
ARM tạo nên armeabi.
e Armeabi -v7a: Các mã được tạo cho Bộ xử lý ARM trên ARM V7 tạo
thành armeabi -v7a.
e armeabi -v8a: Mã được biên dịch cho Bộ xử lý ARM trên ARM V8
được tìm thấy trong armeabi-v8a Mã được biên dịch cho bộ xử lý x86
được tìm thấy trong x86
e x86: Chỉ riêng mã được biên dịch cho bộ xử lý x86 đã tạo nên nên
tảng x86.
© x86 64: x86 64 được tạo riêng từ các mã được biên dịch được thiết kế
cho CPU x86 64.
e Mips: Chỉ các mã được biên dich được thiết kế cho bộ xử lý Mips mới
tạo nên Mips.
res: Các tài nguyên không biên dịch được trong quá trình tạo tài nguyên được chứa trong thư mục res.
tệp nội dung: Nội dung mà nó nhận được từ Trình quản lý nội dung tạo nên
thư mục nội dung.
AndroidManifest: Tệp AndroidManifest chứa thông tin về ứng dụng, bao
gồm tên ứng dụng, biểu tượng, khai báo thành phan và các quyền cần thiết để
ứng dụng hoạt động bình thường.
dex: Máy ảo Android Dalvik và Thời gian chạy Android có thể thực thi các
tệp dex này.
21
Trang 33- arsc: Tép resource.arsc chứa các phiên bản dựng sẵn của tất cả các tài
nguyên XML.
2.1.5 Phân quyền trong hệ điều hành Android
Quyền là một trong những điểm quan trọng của cơ chế bảo mật Android Cácquyền mà ứng dụng yêu cầu phải được liệt kê trong tệp kê khai của ứng dụng Theo
mức độ bảo vệ của chúng, các quyền của Android thường được chia thành hai
nhóm: quyền bình thường và quyền nguy hiểm Vì các quyền thông thường baogồm các khu vực truy cập của ứng dụng năm ngoài hộp cát của ứng dụng nên ngườidùng không cần cấp chúng Mặt khác, người dùng phải cấp các quyền nguy hiểm rõràng vì các quyền đó yêu cầu truy cập vào dữ liệu nhạy cảm của người dùng nhưdanh sách liên hệ, nhật ký cuộc gọi hoặc các tính năng hệ thong nhất định như máyảnh, micrô Cách Android yêu cầu người dùng cấp các quyền nguy hiém đã thay đổivới Android 6.0 Trước Android 6.0, tất cả các quyền nguy hiểm phải được cấp tạithời điểm cài đặt Trong Android 6.0 và các phiên bản cao hơn, người dùng đượcyêu cầu cấp các quyền nguy hiểm trong thời gian chạy
Bình thường thì những ứng dụng có thể sẽ có xu hướng cần dùng những loại
dữ liệu và chính mình không thé tạo ra được, hay những hành động có thể gây ảnhhưởng đến hành vi của các ứng dụng khác hoặc smartphone Ví dụ như các quyền
sử dụng camera, quyên truy cập vào vi trí người dùng, quyên truy cập mang,
Theo như được biết, các quyền được phân chia thành nhiều cấp độ khácnhau, trong các cấp độ này thì cao nhất là bình thường và nguy hiểm Những quyền
bình thường được xem là những quyền có sử dụng tài nguyên nhưng mang lại ít rủi
ro đối với sự bảo mật riêng tư của người dùng, do đó được hệ điều hành tự động
cấp
Những quyền được sử dụng các loại tài nguyên mà các tài nguyên này có sự
liên quan đến dữ liệu bảo mật riêng tư của người dùng hoặc mang tầm ảnh hưởngđến các ứng dụng khác và hệ điều hành được xem là quyền nguy hiểm Các quyền
22
Trang 34này sẽ cần được sự cho phép của người dùng ứng dụng Các quyền nguy hiểm API
23!! được thé hiện dưới đây:
ứng dụng sẽ được phép viết (nhưng
2 WRITE_CALENDAR không đọc) lên dữ liệu lịch của
người dùng.
3 CAMERA Cho phép truy cập máy ảnh.
ứng dụng sẽ được phép đọc thông tin
4 READ_CONTACTS
danh ba của người dùng.
ứng dụng viết sẽ được phép (nhưng
5 WRITE_CONTACTS không đọc) dữ liệu danh bạ của
người dùng.
ứng dụng được cấp quyền truy cập
6 GET_ACCOUNTS vào danh sách các tài khoản trong
các dich vụ Tài khoản
ứng dụng sẽ được quyển truy cập
7 ACCESS_FINE_LOCATION vào chính xác vị trí từ các nguồn vi
trí như tháp di động, GPS va Wi-Fi.
1! https:/Avww.javatpoint.com/apk-full-form
12 https:/Avww.javatpoint.com/apk-full-form
Trang 35ứng dụng được cấp quyền truy cập
vào vị trí gần đúng từ các nguôn vị
8 ACCESS_COARSE_LOCATION
trí mạng như Wi-Ei và các tháp di động.
ứng dụng được cấp quyền ghi lại âm
9 RECORD_AUDIO gang we Pawyen ems
thanh
ứng dụng được cấp quyền chi đọc
10 | READ PHONE_STATE ——— q l có.
truy cập vào trạng thái điện thoại.
ứng dụng được cấp quyền đọc truy
II |READ PHONE_NUMBERS cập vào các số điện thoại của thiết
bị.
ứng dụng được cấp quyền thực hiện
12 CALL PHONE cuộc gọi điện thoại mà không cần
phải thông qua người dùng.
ứng dụng được quyền trả lời cuộc
13 ANSWER_PHONE_CALLS cu
gọi đên.
ứng dụng được cấp quyền đọc nhật
14 READ_CALL_LOG Semmes P any | l
kí cuộc gọi của người dùng.
ứng dụng được quyền viết (nhưng
15 WRITE_CALL_LOG không đọc) dữ liệu log của người
Trang 36thay đôi hoặc hủy bỏ các cuộc gọi di.
ứng dụng được cung cấp quyền đo lường các diễn biến đang xảy ra bên
trong cơ thể chúng ta, ví dụ như nhịp
19 BODY_ SENSORS :
tim của người dùng được người dùng
sử dụng qua việc truy cập dữ liệu từ
bộ cảm biến.
ứng dụng được cho phép gửi tin
20 SEND SMS 5 me l paep &
nhan SMS
ứng dụng được cấp quyền nhận tin
21 RECEIVE_SMS i a cae Pay l
Trang 37nhớ ngoài.
2.2 Xử lý ngôn ngữ tự nhiên
và từ d
Ngôn ngữ của nhân loại được hiểu thông qua những chương trình máy tính
ó mà giải quyết được những tương tác giữa máy tính và con người được gọi
là neuro-linguistic programming (NLP) NLP liên quan đến các nhiệm vụ từ các cấp
độ ngôi
phân tí
n ngữ của một ngôn ngữ, chẳng hạn như gắn thẻ một phần giọng nói (PoS),
ch cú pháp và ngữ nghĩa đề hiểu rõ hơn về ngôn ngữ tự nhiên.
26
Trang 38Chương 3 CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN
Trở lại những thập niên gần đây, trong cộng đồng nghiên cứu xử lý ngôn ngữ
tự nhiên đã và đang đi lên một cách mạnh mẽ, nghiên cứu rất đa dạng với nhiều chủ
đề bài toán khác nhau Và trong số đó, những bài toán có chủ đề về phân loại văn ban được các nhà nghiên cứu rat quan tâm Dé tìm ra được cách giải quyết vấn đề
cũng như hướng phát triển cho bài toán của mình, tôi tiến hành tham khảo các công
trình nghiên cứu nỗi bật khác nhau có liên quan đến bài toán của mình đã được công bố trên thế giới Từ đó, thực hiện học hỏi các kinh nghiệm từ những người tiên
phong đi trước và cuối cùng đúc kết ra hướng nghiên cứu đúng đắn cho bài toán của
mình.
Các ứng dụng Android trở nên phổ biến trên các chợ ứng dụng (CH Play) dẫn đến xuất hiện nhiều rủi ro, hầu hết các phần mềm độc hại có gắng thu thập
thông tin cá nhân của người dùng mà họ không hề hay biết Mặc dù các ứng dụng
này yêu cầu người dùng cấp quyền nhưng người dùng vẫn có thể đối mặt với các
vấn đề rò rỉ quyền riêng tư do kiến thức phân biệt các quyền của họ còn hạn chế.
3.1 Công trình nghiên cứu trên thế giới
Một cuộc đánh giá người ding Android đã được diễn ra vào năm 2012 [1].
Xem người dùng có chú ý đến hoặc hiểu biết đối với thông tin về quyền trong khi
cài đặt hay không, Adrienne Porter Felt và cộng sự đã thực hiện hai nghiên cứu: một cuộc khảo sát Internet trên 308 người dùng Android và một nghiên cứu trong
phòng thí nghiệm, trong đó họ đã phỏng vấn và quan sát 25 người dùng Android.
Những người tham gia nghiên cứu cho thấy tỷ lệ chú ý và hiểu về các quyền thấp:
cả cuộc khảo sát trên Internet và nghiên cứu trong phòng thí nghiệm cho thấy 17% người tham gia chú ý đến quyền trong khi cài đặt, và chỉ 3% người trả lời khảo sát
trên Internet có thé trả lời đúng cả ba câu hỏi hiểu biết về quyền Điều này cho thay rằng các cảnh báo về quyền hiện tại của Android không giúp hầu hết người dùng
đưa ra quyết định bảo mật chính xác cho bản thân người dùng.
27
Trang 39Công trình đầu tiên về đánh giá độ tin cậy của mô tả cho phép đề xuất một khuôn khổ gọi là WHYPER [13] sử dụng các kỹ thuật xử lý ngôn ngữ tự nhiên (NLP) Nó được đề xuất như một phương tiện dé giảm bớt những thiếu sót của cách tiếp cận dựa trên từ khóa như các hiệu ứng gây nhiễu bởi một từ có thể có các ý nghĩa khác nhau trong các câu khác nhau Lúc đầu, WHYPER [13] chuyền đổi từng
câu thành biểu diễn First-Order logic (FOL) sau khi tiền xử lý các câu (tách câu, xử
lý chữ viết tắt, xóa các kí tự đặc biệt, ) trong định nghĩa ứng dụng Sau đó, tạo một
đồ thị ngữ nghĩa cho mỗi quyền bằng cách sử dụng các tài liệu giao diện lập trình ứng dụng (API) và một cơ sở dữ liệu từ vựng được gọi là WordNet [14] Cuối cùng
là sử dụng các đồ thị ngữ nghĩa, mô hình xác định kiểm tra xem các đồ thị ngữ
nghĩa này có liên kết với các câu mô tả hay không Mặc dù WHYPER được đề xuất như một phương tiện để giảm bớt những thiếu sót của cách tiếp cận dựa trên từ khóa
nhưng vào năm 2015 Watanabe và cộng sự [15] đề xuất một cách tiếp cận dựa trên
từ khóa được gọi là ACODE Vì ACODE không yêu cầu gắn nhãn mô tả ứng dụng,
phương pháp dựa trên từ khóa được cho là hấp dẫn đối với các tập dữ liệu lớn Bằng cách kết hợp phân tích tĩnh và phân tích văn bản, ACODE hoạt động tốt hơn so với
cách tiếp cận dựa trên từ khóa được sử dụng để so sánh trong WHYPER [13] và tạo
ra kết quả có thể so sánh với WHYPER Ngoài ra, không giống như các nghiên cứu khác trong tài liệu, nó có thê được áp dụng cho các ngôn ngữ khác nhau.
Từ những điều trên, các nghiên cứu về mô tả của ứng dụng liên quan đến quyền đã nở rộ hơn Điển hình Zhengyang Qu và cộng sự [11] đã nghiên cứu một
hệ thống AutoCog để tự động đánh giá độ trung thực của mô tả cho phép của các
ứng dụng AutoCog sử dụng các kỹ thuật hiện đại trong xử lý ngôn ngữ tự nhiên và
thuật toán dựa trên học tập của riêng họ để liên kết mô tả với quyền giúp vượt trội
hơn các công trình liên quan khác về cả hiệu suất phát hiện và khả năng tổng quát hóa trên các quyền khác nhau ở một mức độ lớn Mối liên quan về ngữ nghĩa giữa
mô tả và quyền được đo lường bằng cách sử dụng Explicit Semantic Analysis (ESA) Thay vì sử dụng kho ngữ liệu dựa trên từ điển như WordNet được thực hiện trong WHYPER ESA sử dụng một cơ sở tri thức lớn (Wikipedia) dé tạo các biểu
28
Trang 40diễn vectơ của văn bản AUTOCOG trích xuất các cụm danh từ từ các mô tả và tạo một ma trận điểm liên quan về ngữ nghĩa trong số đó bằng cách sử dụng ESA Bài nghiên cứu đạt được average precision là 92,6% và average recall là 92,0% Tiếp
nối đó, Daniel Dominguez Alvarez [3] nghiên cứu một kỹ thuật mới gọi là
CHABADA Mục tiêu của kỹ thuật này là tìm kiếm mối tương quan giữa việc triển
khai các ứng dụng Android và những gì được tuyên bố trong mô tả cửa hàng của
ứng dụng Phiên bản mới này tập trung vào việc cải thiện khả năng mở rộng của
triển khai cũ đề có thé chạy kỹ thuật với tap dữ liệu đến từ cơ sở dữ liệu Tacyt Kích thước của tập dữ liệu cuối cùng của bài nghiên cứu là khoảng 700,000 ứng dụng Với những đổi mới và nghiên cứu mô hình họ đã chạy được trên nền dit liệu lớn mà không bị ảnh hưởng về việc tắt nghẽn.
Ngoài ra, khác với những nghiên cứu trước, Y Feng và cộng sự [4] xem xét
các quyền của ứng dụng từ góc độ chỉ tiết hơn và nhằm dự đoán nhiều quyền tương ứng cho một câu mô tả ứng dụng Họ đề xuất khuôn khổ end-to-end dé đánh giá
tính nhất quán giữa mô tả và quyền, được đặt tên là đánh giá tính nhất quán dựa trên
mạng nơ-ron (AC-Net) Không giống như WHYPER [13] và Autocog [2], các biểu diễn ngữ nghĩa của từ được lấy từ từ nhúng Năm 2013 Word2vec [34] được đào tạo
về mô tả ứng dụng Android Do đó, các từ nhúng được sử dụng trong AC-NET có
các tính năng dành riêng cho miền dữ liệu này Sau khi nhúng từ được học thông qua mô hình word2vec, Mạng noron tái tạo (RNN) được sử dụng biểu diễn vector
của câu đã cho trong mô tả ứng dụng Trong AC-NET, Gated Recurrent Unit
(GRU) [16], một loại mạng noron tuần hoàn, được sử dụng cho bước tiếp theo Từ
việc nhúng word2vec của mỗi từ trong một câu mô tả sẽ tiếp tục là đầu vào của GRU hai chiều, trong đó một GRU xử lý câu theo thứ tự chuyền tiếp và GRU khác
xử lý câu theo thứ tự ngược lại và cuối cùng kết quả đầu ra của mỗi GRU được nối
để có một biểu diễn thành phần của câu đã cho Sau quá trình tính toán thì xác suất
của câu đã cho được áp dụng một hàm sigmoid trên biêu diễn đầu ra và cho ra kết quả cuối cùng Kết quả thu được từ mô hình này là do hiệu suất của cả việc sử dụng
nhúng từ theo miền cụ thể và mạng nơ-ron hai chiều Dé đánh giá sự vượt trội, một
29