1. Trang chủ
  2. » Luận Văn - Báo Cáo

HC VIN CONG NGH BU CHINH VIN THONG

26 3 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Học Viện Công Nghệ Bưu Chính Viễn Thông
Người hướng dẫn TS. Nguyễn Khanh Văn
Trường học Học viện Công nghệ Bưu chính Viễn Thông
Chuyên ngành Hệ Thống Thông Tin
Thể loại Luận văn thạc sĩ
Năm xuất bản 2013
Thành phố Hà Nội
Định dạng
Số trang 26
Dung lượng 482,2 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong số các công nghệ dƠnh cho các loại điện thoại di động thì công nghệ Android lƠ một công nghệ mạnh mẽ, được ng dụng phát triển rộng rưi vƠ chọn lƠm nền tảng phát triển di động cho n

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHệNH VIỄN HÔNG

ịM Ắ LUẬN VĂN HẠC SĨ

HÀ N I - 2013

Trang 2

H ỌC VIỆN CÔNG NGHỆ BƯU CHệNH VIỄN HÔNG

Người hướng dẫn khoa học: TS Nguyễn Khanh Văn

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông

VƠo lúc: giờ ngƠy tháng năm

Có thể tìm hiểu luận văn tại:

- Thư viện của Học viện Công nghệ Bưu chính Viễn thông

Trang 3

M Đ U

NgƠy nay, điện thoại di động được áp dụng các công nghệ cao vƠ hiện đại phát triển

một cách mạnh mẽ, tăng trư ng một cách không ngừng Điện thoại di động tr thƠnh một

nhu cầu thiết yếu cho con người Điện thoại di động có tính tiện lợi cao, có thể sử dụng mọi lúc mọi n i Điện thoại di động cƠng ngƠy cƠng "thông minh" với nhiều ch c năng vƠ dịch

vụ rất hấp dẫn đư được tích hợp rất nhiều tiện ích để đáp ng cho con người trọng mọi lĩnh

vực Trong số các công nghệ dƠnh cho các loại điện thoại di động thì công nghệ Android lƠ

một công nghệ mạnh mẽ, được ng dụng phát triển rộng rưi vƠ chọn lƠm nền tảng phát triển

di động cho nhiều hưng di động khác nhau Android lƠ hệ điều hƠnh trên điện thoại di động (vƠ hiện nay lƠ cả trên một số đầu phát HD, HD Player, TV) phát triển b i Google vƠ dựa trên nền tảng Linux

Các ng dụng vƠ dịch vụ dƠnh cho điện thoại di động liên tục phát triển vƠ gia tăng không ngừng Do sự dư thừa thông tin vƠ quảng cáo, người sử dụng có thể gặp khó khăn khi

phải chọn lựa, sƠng lọc ra thông tin tốt, hợp lý nhất phục vụ cho công việc hoặc sự giải trí

của mình Để hỗ trợ người sử dụng một cách tốt nhất cần có phần mềm thu thập thu thập tất

cả các hƠnh vi vƠ thói quen của người sử dụng trên các ng dụng, dịch vụ dƠnh cho điện

thoại di động Sau khi thu thập tất cả các hƠnh vi vƠ thói quen của người sử dụng trong các

khoảng thời gian định kì sẽ tiến hƠnh phơn tích các hƠnh vi, thói quen người sử dụng mục đích để nắm bắt nhu cầu sử dụng, s thích, thói quen của người sử dụng để chúng ta có thể

tạo ra các sản phẩm, các dịch vụ, phục vụ cho người sử dụng tốt h n nữa Đồng thời phần

mềm cũng hỗ trợ đưa ra những gợi ý tư vấn cho sự lựa chọn các ng dụng vƠ dịch vụ phù

hợp nhất cho người sử dụng Đơy chính lƠ những lý do để tôi chọn đề tƠi “Thu th p, phơn tích hƠnh vi vƠ thói quen ng i s d ng thi t b di đ ng Android” Nội dung của luận

văn nghiên c u, vƠ phát triển được trình bƠy thông qua bốn chư ng:

- Chư ng 1: Nền tảng công nghệ Android cho thiết bị di động

- Chư ng 2: Một số C s lý thuyết liên quan

- Chư ng 3: Khảo sát các phư ng pháp, công cụ hỗ trợ nhận dạng hƠnh vi, thói quen người sử dụng thiết bị di động Android

- Chư ng 4: Xơy dựng ng dụng thu thập, Phơn tích hƠnh vi vƠ thói quen người sử

dụng thiết bị di động Andriod

Trang 4

CH NG 1 N N T NG C ÔNG NGHỆ ANDROID CHO THIẾT

B Ị DI ĐỘNG

1.1 T ng quan công ngh Android

1.1.1. Sơ lược lịch sử công nghệ Android

Android lƠ một hệ điều hƠnh m phát triển dựa trên nền tảng Linux dƠnh cho các

Thiết bị di động cảm ng Công nghệ Android đầu tiên được nghiên c u b i tổng công ty

Android với sự hỗ trợ đầu tư của Google NgƠy 17 tháng 8 năm 2005, Google mua lại tổng công ty Android biến nó thƠnh một bộ phận trực thuộc của mình NgƠy 5 tháng 11 năm

2007, Một hiệp hội các công ty lớn trên thế giới về viễn thông, phần c ng, phần mềm cho

thiết bị di động thƠnh lập ra Liên minh thiết bị cầm tay m (Open Handset Alliance) với

mục đích phát triển các tiêu chuẩn m cho di động Cùng ngƠy nƠy, google cũng ra mắt sản

phẩm đầu tiên lƠ một nền tảng thiết bị di động được xơy dựng trên nhơn Linux 2.6

Hình 1.1: Các thƠnh viên c a “Liên minh di đ ng m ”

(Nguồn: Bài báo “Lịch sử hệ điều hành Android - Trần Quỳnh Hương” [1])

NgƠy 22 tháng 10 năm 2008 Chiếc điện thoại Android đầu tiên HTC Dream được bán ra Từ năm 2008, Hệ điều hƠnh Android đư trải qua nhiều lần cập nhật, sửa các lỗi, bổ xung thêm tính năng mới Mỗi phiên bản đều được đặt tên lần lượt theo th tự bảng chữ cái theo tên các món ăn tráng miệng: phiên bản 1.5 cupcate, phiên bản 4.2 Jelly Bean

Trang 5

1.2 Khái ni m Android

Android lƠ hệ điều hƠnh m được Google phát triển dƠnh cho thiết bị di động Các nhƠ phát triển có thể sử dụng tất cả tính năng của hệ điều hƠnh Android để tạo ra các ng

dụng di động Android được xơy dựng trên nhơn Linux m H n nữa, nó sử dụng một máy

ảo tuỳ chỉnh được thiết kế để tối ưu hóa bộ nhớ vƠ tƠi nguyên phần c ng trong một môi trường di động Để phục vụ cho việc phát triển vƠ sáng tạo các ng dụng vƠ dịch vụ Google

đư đưa ra bộ công cụ Android SDK cung cấp các công cụ vƠ bộ thư viện các hƠm API cần

thiết để phát triển ng dụng cho nền tảng Android sử dụng ngôn ngữ lập trình java

1.2.1. Kiến trúc Android

Mô hình kiến trúc sau thể hiện các thƠnh phần của hệ điều hƠnh Android:

Hình 1.2: Mô hình ki n trúc n n t ng Android

(Nguồn: Bài báo “Lịch sử hệ điều hành Android - Trần Quỳnh Hương” [1])

- Applications: Tầng nƠy tích hợp sẵn một số ng dụng c bản cần thiết dƠnh cho

thiết bị di động như danh bạ điện thoại, gọi điện thoại, Tin nhắn SMS, trình duyệt

web vƠ một số ng dụng khác Người sử dụng có thể tích hợp các ng dụng của hưng

th 3 viết bằng ngôn ngữ java vƠo tầng nƠy

Trang 6

- Application Framwork: Tầng nƠy của hệ điều hƠnh Android cung cấp một nền tảng

phát triển ng dụng m qua đó cho phép nhƠ phát triển ng dụng có khả năng tạo ra các ng dụng vô cùng sáng tạo vƠ phong phú

- Libraries: lƠ lớp ch a các thư viện native Android Các thư viện chia sẻ tất cả được

viết bằng C, C + +, mục đích biên dịch cho các kiến trúc phần c ng đặc biệt được sử

dụng cho điện điện thoại

- Android Runtime: Android bao gồm một tập hợp các thư viện lõi cung cấp hầu hết

các ch c năng có sẵn trong các thư viện lõi của ngôn ngữ lập trình Java Tất cả các

ng dụng Android sẽ có một thể hiện riêng trên máy ảo Dalvik Máy ảo Dalvik đư được viết để một thiết bị có thể chạy nhiều máy ảo cùng lúc có hiệu quả vƠ nó thực thi các file có định dạng ( dex) mục đích tối ưu hóa cho bộ nhớ vƠ sử dụng tối thiểu

bộ nhớ

- Linux Kernel: Android dựa trên Linux phiên bản 2.6 cho hệ thống cốt lõi dịch vụ

như an ninh, quản lý bộ nhớ, quản lý tiến trình, Network stack, Driver model Kernel cũng hoạt động như một tầng trừu tượng giữa phần c ng vƠ phần còn lại của ngăn

lƠ ng dụng “Viết một lần, chạy mọi n i” nên cần phải có môi trường máy ảo để chạy ng

dụng Google đư tinh chỉnh, cải tiến từ máy ảo JDK để phát triển thƠnh máy ảo Dalvik của

hệ điều hƠnh Android mục đích để biên dịch mư Java với tốc độ biên dịch nhanh h n vƠ nhẹ

h n

1.2.2.2 Môi trường lập trình cho Android

Google cung cấp công cụ phát triển ng dụng Android SDK, lƠ một công cụ giả lập

thiết bị ảo Android hỗ trợ để test vƠ debug các lỗi của ng dụng Android Môi trường lập

trình (IDE) chính th c của Android lƠ Eclipse (từ phiên bản 3.2) với sự hỗ trợ của plugin

Trang 7

Android Development Tools (ADT) ng dụng Android được đóng gói thƠnh các file apk

vƠ đuợc lưu trong thư mục /data/app của hệ điều hƠnh Android

1.3 Các thƠnh ph n c b n c a ng d ng Android

1.3.1. Activity

Một Activity lƠ một thƠnh phần ng dụng cung cấp một mƠn hình mƠ người dùng có

thể tư ng tác để lƠm điều gì đó, chẳng hạn như quay số điện thoại, chụp ảnh, gửi email,

hoặc xem bản đồ Mỗi Activity được đưa ra một cửa sổ trong đó vẽ ra giao diện người dùng

của nó Cửa sổ thường lấp đầy mƠn hình, nhưng nó có thể lƠ nhỏ h n so với mƠn hình vƠ

hiển thị lên trên các cửa sổ khác

1.3.1.1 Vòng đời của một Activity

Một Activity có 4 trạng thái:

- Active hay Running: Khi một Activity đang chạy trên mƠn hình [5]

- Paused: Khi một Activity vẫn đang chạy trên mƠn hình nhưng đang bị một Activity

trong suốt (transparent) hay nó bị chiếm toƠn mƠn hình hiển thị phía trên Tuy vẫn lưu trữ dữ liệu, nhưng các paused Activity nƠy sẽ bị hệ thống bắt chấm d t khi đang thiếu bộ nhớ trầm trọng [5]

- Stopped: Khi một Activity bị che khuất hoƠn toƠn b i một Activity khác (Activity

nƠy đang chế độ background) trạng thái Stoped, Activity vẫn tồn tại có nghĩa đối tượng Activity vẫn giữ lại trọng bộ nhớ, duy trì trạng thái vƠ thông tin thƠnh viên của nó Tuy nhiên các stopped Activity nƠy sẽ thường xuyên bị hệ thống bắt chấm d t giải phóng bộ nhớ để cấp bộ nhớ cho các tiến trình khác [5]

- Killed hay Shut down: Khi một Activity đang paused hay stopped, hệ thống sẽ xóa

Activity ấy ra khỏi bộ nhớ NhƠ phát triển ng dụng có cƠi đặt phư ng th c finish() trước khi bị xóa khỏi bộ nhớ [5]

Trang 8

thực hiện hoặc trong trường hợp Broadcasts, nó lƠ một mô tả về một cái gì đó đư xảy ra vƠ

đư được công bố

1.3.2. Service

1.3.2.1 Định nghĩa Service

Một Service lƠ một component của ng dụng có thể thực hiện các hoạt động trong một thời gian dƠi chế độ background vƠ không cung cấp một giao diện người dùng Một component ng dụng có thể bắt đầu một Service vƠ nó sẽ tiếp tục chạy chế độ background ngay cả khi người dùng chuyển sang một ng dụng khác NgoƠi ra, một Component có thể liên kết với một Service tư ng tác với nó vƠ thậm chí thực

1.3.2.2 Vòng đời của 1 Service

Một Service có các phư ng th c callback vòng đời mƠ ng dụng có thể thực hiện để theo dõi những thay đổi trong trạng thái của service vƠ ng dụng có thể thực hiện công việc giai đoạn thích hợp

1.3.3. BroadcastReceiver

Broadcast Reciever chỉ đ n giản lƠ phản ng tin nhắn broadcast từ các ng dụng khác hoặc từ hệ thống chính nó Có hai bước quan trọng để tạo ra BroadcastReceiver cho hệ thống Broadcast intent:

- Tạo ra các Broadcast Reciever bằng cách kế thừa BroadcastReciever

- Đăng ký Broadcast Reciever bằng hai cách sử dụng Context.registerReceiver() hay thông qua tag <receiver> trong file AndroidManifest.xml

Trang 9

1.3.5. Shared preferences

Shared preferences sử dụng key/value hệ thống để save/retrieve dữ liệu Đơy lƠ, tất cả các dữ liệu đ n giản sẽ có một khóa duy nhất trong Shared preferences Bằng cách sử dụng khóa nƠy, giá trị đư lưu trước đó, ngay cả những ng dụng đư bị hủy vƠ kh i động lại một

lần nữa nó sẽ được phục hồi Trong trường hợp giá trị yêu cầu chưa được thiết lập một giá

trị mặc định sẽ được trả lại Nếu dữ liệu có lưu trữ theo cấu trúc với số lượng lớn thì không nên sử dụng nên sử dụng lưu trữ với database (sqlite)

1.3.6. LogCats

LogCats lƠ phư ng pháp được sử dụng trên các thiết bị dựa trên Android để hiển thị các thông điệp hoặc các bản ghi tư ng tự như các cơu lệnh System.out.println() của Java Để

gọi nó, các lập trình viên có thể viết in mư code trong bất kỳ n i mư code tồn tại Điều quan

trọng lƠ đề cập đến những thông báo hoặc các log có thể được chụp vƠ xử lý b i bất kỳ chư ng trình nƠo đang chạy trong Android, b i vì nó lƠ c s của chư ng trình thực hiện

cho dự án nƠy

1.3.7. ửi và nhận messages trong Andriod

Bên cạnh các phư ng pháp broadcast receiver, cách khác để giao tiếp trong Android đang sử dụng các messages vƠ Handlers

Nhận message nƠy phải cƠi đặt các phư ng th c xử lý (handler) Các phư ng th c xử

lý lƠ tiến trình đó liên tục lặp lại kiểm tra các nội dung của hƠng đợi message vƠ bộ lọc

message B i vì sự lặp lại nƠy, khi phư ng th c xử lý không được cƠi đặt trong các Activity

nó đư được cƠi đặt trong thread khác

1.4 ng k t

Android có xơy dựng trên nhơn Linux nên nó thừa hư ng được những đặc tính quý

của Linux, nhất lƠ về độ bảo mật vƠ hiệu năng hoạt động cao Không những thế, nhơn Linux

để phát triển cho Android đư được tối ưu vƠ cải thiện để phù hợp với hệ thống điện thoại nên nó có khả năng tùy biến, tư ng thích cao với nhiều mẫu điện thoại của nhiều hưng khác nhau Android lƠ hệ điều hƠnh đa nhiệm một người dùng Tính đa nhiệm cho phép cùng một

thời gian, người dùng có thể chạy được nhiều ng dụng để lƠm được nhiều việc khác nhau Tuy nhiên, mỗi ng dụng trên Android thì chỉ được phép chạy với một thực thể mƠ thôi

Trang 10

CH NG 2 M ỘT S C S Lụ HUYẾ LIÊN QUAN

2.1 B o m t ng d ng Android

Khi Chúng ta phát triển các ng dụng Android, Chúng ta phải giải quyết một số khía cạnh liên quan đến bảo mật, bao gồm cả các quy trình ng dụng vƠ các hộp cát (sandbox - hộp dùng để thử nghiệm vƠ phát triển phần mềm), chia sẻ mư vƠ dữ liệu, bảo vệ hệ thống thông qua việc ký các ng dụng vƠ sử dụng các quyền hạn Hệ điều hƠnh android sử dụng một vƠi phư ng pháp bảo mật cho thiết bị của người sử dụng Chúng ta sẽ miêu tả các tính năng bảo mật ảnh hư ng đến ng dụng một cách trực tiếp

Hình 2.1: Các lĩnh v c b o m t hi n có khi l p trình các ng d ng Android

(Nguồn: Bài báo “Understanding security on Android- IBM” [6])

2.1.1. phân quyền Android

Phơn quyền lƠ một c chế bảo mật của nền tảng Android để cho phép hoặc hạn chế

ng dụng truy cập đến các API vƠ các tƠi nguyên bị hạn chế Theo mặc định, các ng dụng Android không được cấp các phơn quyền nƠo, lƠm cho chúng an toƠn bằng cách không cho phép chúng truy cập vƠo các API được bảo vệ hoặc các tƠi nguyên trên thiết bị ng dụng phải yêu cầu các phơn quyền thông qua manifest.xml file vƠ người dùng cấp hoặc không cấp

các phơn quyền trong khi cƠi đặt Để yêu cầu cấp phơn quyền, hưy khai báo một thuộc tính <user-permission> trong manifest.xml file:

Trang 11

<uses-permission android:name="string" />

2.1.1.1 Các quyền hạn của Content provider vƠ của file

Các Content Provider trưng ra một URI chung lƠ URI duy nhất xác định dữ liệu của chúng Để bảo vệ Content Provider như vậy, khi bắt đầu một hoạt động hoặc trả về một kết

lập Intent.FLAG_GRANT_READ_URI_PERMISSION vƠ Intent.FLAG_GRANT_WRITE

_URI_PERMISSION, để cấp quyền cho hoạt động thu nhận truy cập vƠo URI của dữ liệu

cụ thể theo ý định nƠy Các ng dụng có thể cho phép các ng dụng hoặc các tiến trình khác

có quyền truy cập tới các file của mình Sự cho phép nƠy được thực hiện bằng cách chỉ ra

động MODE_WORLD_READABLE vƠ MODE_WORLD_WRITEABLE thích hợp để cho phép quyền truy cập đọc hoặc viết vƠo tệp, hoặc MODE_PRIVATE để m tệp trong chế độ riêng tư

2.1.1.2 Các API Permission thời gian chạy

Android cung cấp các API Permission để kiểm tra, bắt tuơn thủ, cấp vƠ thu hồi các phơn quyền trong thời gian chạy Các API nƠy lƠ một phần của lớp android.content.Context, cung cấp toƠn bộ thông tin về một môi trường ng dụng

2.1.2. Sandbox

Android sử dụng khái niệm về sandbox để bắt buộc tách riêng giữa ng dụng với nhau vƠ các phơn quyền để cho phép hoặc ngăn không cho một ng dụng truy cập vƠo các tƠi nguyên của thiết bị như các file vƠ các thư mục, các mạng, các cảm biến vƠ các API nói

chung Các ng dụng Android chạy trên tiến trình Linux riêng của mình vƠ được gán cho một ID của người dùng duy nhất (UID) Theo mặc định, các ng dụng chạy trong một tiến trình của sandbox c s không được gán cho các phơn quyền, do đó ngăn không cho các

ng dụng như vậy được truy cập vƠo hệ thống hoặc các tƠi nguyên Tuy nhiên, các ng dụng Android có thể yêu cầu các phơn quyền thông qua các manifest.xml file của ng dụng

2.1.3. Ký ng dụng (Application signing)

Tất cả các ng dụng Android phải được ký Việc ký ng dụng hoặc mư lƠ quá trình

ký số một ng dụng cụ thể bằng cách sử dụng một khóa riêng để:

Trang 12

 Xác định tác giả của mư

 Phát hiện ra nếu các ng dụng đư thay đổi

 Xơy dựng sự tin cậy giữa các ng dụng

2.1.4. Loại bỏ từ xa sự chuyển đổi (Remote kill switch)

Các ng dụng Google Play có khả năng loại bỏ từ xa các ng dụng từ thiết bị cầm tay của người sử dụng khi ng dụng được vi phạm việc thỏa thuận phơn phối phát triển hoặc

chính sách chư ng trình phát triển

Tuy nhiên các loại bỏ từ xa chỉ hữu ích đối với các ng dụng cƠi đặt thông qua thị trường Google Play Các ng dụng cƠi đặt thông qua các kênh không chính th c sẽ không bị ảnh hư ng b i tính năng nƠy

2.1.5. Bảo vệ file hệ thống

Android bảo vệ các file hệ thống cốt lõi của hệ điều hƠnh bằng cách lưu trữ chúng trong một phơn vùng chỉ có quyền đọc của ổ đĩa c ng NgoƠi ra, tính năng sandbox đề cập trên ngăn chặn các ng dụng được cƠi đặt trên các thiết bị truy cập các file của nhau trừ khi các file cố ý hoặc vô ý trưng bƠy ra b i các nhƠ phát triển

sẽ thường xuyên không được truy cập với tính năng nƠy trên thiết bị Android, vì nó sẽ được khóa b i nhƠ cung cấp Một ng dụng với quyền truy cập root có thể thay thế, sửa đổi vƠ cƠi đặt các ng dụng như nó muốn

Trang 13

2.2 Học Máy

2.2.1. Khái niệm về học máy

Học máy (machine learning) lƠ một lĩnh vực của trí tuệ nhơn tạo liên quan đến việc nghiên c u vƠ xơy dựng các kĩ thuật cho phép các hệ thống có thể "học" tự động từ dữ liệu

để giải quyết những vấn đề cụ thể Học máy lƠ tạo ra các phư ng pháp vƠ chư ng trình để cho máy tính có thể giải quyết các vấn đề giống như con người Ví dụ như các hệ thống có

thể "học" cách phơn loại thư điện tử xem có phải thư rác (spam) hay không vƠ tự động xếp thư vƠo thư mục tu ng ng

2.2.2. Thuật toán K-Means

Trong số các thuật toán phơn nhóm tồn tại, thì thuật toán k-means sử dụng rộng rưi

nhất Nó lƠ một thuật toán lặp tổ ch c dữ liệu số trong số k cụm Các dữ liệu số, hoặc tập

huấn luyện, được tổ ch c trong vect với một kích thước bằng với số tính năng được đánh giá Thuật toán K-means phơn tích quá trình phơn cụm đ n giản nên có thể áp dụng đối với

tập dữ liệu lớn Tuy nhiên nhược điểm của thuật toán nƠy lƠ chỉ áp dụng với dữ liệu có

thuộc tính số vƠ khám phá ra các cụm có dạng hình cầu, K-means còn rất nhạy cảm với

nhiễu vƠ các phần tử ngoại lai trong dữ liệu Chất lượng của thuật toán K-means phụ thuộc

nhiều vƠo các tham số đầu vƠo như: số cụm k vƠ k trọng tơm kh i tạo ban đầu

2.3 T ng k t

Android lƠ một nền tảng di động hiện đại được thiết kế để được thực sự m Để bảo

vệ giá trị, nền tảng nƠy phải cung cấp một môi trường ng dụng để đảm bảo sự an toƠn của người sử dụng, dữ liệu, ng dụng, thiết bị, vƠ mạng Đảm bảo một nền tảng m đòi hỏi một kiến trúc bảo mật mạnh mẽ vƠ các chư ng trình an ninh nghiêm ngặt Android được thiết kế với bảo mật đa tầng cung cấp sự linh hoạt cần thiết cho một nền tảng m , trong khi cung cấp bảo vệ cho tất cả người dùng của nền tảng nƠy

Ngày đăng: 16/12/2022, 18:14

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w