1. Trang chủ
  2. » Giáo Dục - Đào Tạo

SỞ AN TOÀN THÔNG TIN MÔ PHỎNG TINH CHẤT NO READ UP CUA ORACLE LABEL SECURITY

32 19 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

Định dạng
Số trang 32
Dung lượng 2,76 MB

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

Nội dung

SỞ AN TOÀN THÔNG TIN MÔ PHỎNG TINH CHẤT NO READ UP CUA ORACLE LABEL SECURITY

Trang 1

BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ

KHOA: AN TOÀN THÔNG TIN

CƠ SỞ AN TOÀN THÔNG TIN

MÔ PHỎNG TINH CHẤT NO READ UP CUA

ORACLE LABEL SECURITY

……….

.

Giảng viên hướng dẫn: Ths Đặng Thế Hùng

Sinh viên thực hiện: Trần Quốc Hoàng

Nguyễn Thanh Tú Phạm Nguyên Tiến Anh Trần Bảo Hội

Lớp: AT15H

Trang 2

1

Trang 3

TP Hồ Chí Minh, tháng 9 năm 2021

BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ

KHOA: AN TOÀN THÔNG TIN

AN TOÀN CƠ SỞ DỮ LIỆU

TÌM HIỂU VỂ ORACLE LABEL SECURITY

Nhận xét của giáo viên hướng dẫn:

Điểm báo cáo:

Xác nhận của giáo viên hướng dẫn:

2

Trang 4

1.3 Định nghĩa quy tắc "No read up - No write down - Limited write down" 11

1.4.1 Giơi thiêu sơ bộ Oracle Label Security 11,12

1.4.2 Nhãn nhạy cam (sensity label) 12,13,14,151.4.3 Cach thức hoạt động( quan li truy câp) 15CHƯƠNG 2 : SƠ LƯỢC DEMO MÔ PHỎNG NO READ UP CỦA OLS 16

2.2 Triên khai dư an "Quan lý nhân sư" 17

CHƯƠNG 3: TIÊN HÀNH MÔ PHỎNG TÍNH CHẤT NO READ UP CỦA OLS 20

Trang 5

3.2.Tiến hành mô phỏ̉ng 20,21

Trang 6

Hì̀nh 3.9 Tạ ̣o các label của user và áp dụng chính sách cho bảng NHANSU 24Hì̀nh 3.10 Gán nhãn cho các hàng dữ liệu của bảng 24

Trang 7

DANH MỤC CÁC TỪ VIẾT TẮT

Stt Từ viế́t tắt Từ được viế́t tắt

3 DAC Mô hì̀nh kiểm soát truy cập tùy ý́

4 MAC Mô hì̀nh kiểm soát truy cập bắ́t buộ̣c

6 VPD Virtual Private Database

6

Trang 8

LỜI CẢM ƠN

Chúng em xin chân thành cảm ơn Ths Đăng Thê Hung – giảng viên trực tiếphướng dẫn, chỉ bảo, tạ ̣o mọi điều kiện thuận lợi giúp đỡ chúng em trong quá trì̀nh thựchiện đề tài

Tuy đã có rất nhiều cố́ gắ́ng và sự nỗ lực của các thành viên để hoàn thiện đề tài,

nhưng chắ́c chắ́n đề tài “Mô phỏng tính chất No read up cua OLS” của chúng em còn

nhiều thiếu sót Chúng em rất mong nhận được sự góp ý́ từ̀ các thầy giáo để nhóm em cóthể hoàn thiện tố́t hơn các đề tài nghiên cứ́u sau

Chúng em xin chân thành cảm ơn!

Trang 9

LỜI MỞ ĐẦU

1 Lí do chọn đề tài

Trong xã hộ̣i hiện đạ ̣i, cơ sở dữ liệu đóng mộ̣t vai trò hết sứ́c quan trọng và thamgia vào hầu hết các lĩ̃nh vực hoạ ̣t độ̣ng Sự ngưng trệ hay hoạ ̣t độ̣ng thiếu chính xáccủa nó có thể gây ra các hậu quả khó lường

Đặc biệt, khi xã hộ̣i chuyển sang giai đoạ ̣n xã hộ̣i hóa thông tin và nền kinh tếchuyển sang nền kinh tế số́ hóa với mứ́c độ̣ liên kết chặt chẽ, với quy mô toàn cầu thì̀ vaitrò của cơ sở dữ liệu càng trở nên quan trọng Do vậy, các vấn đề tin cậy, an toàn và bímật thông tin trong các cơ sở dữ liệu cần được đầu tư nghiên cứ́u dưới cả góc độ̣ hàn lâmlý́ thuyết và cả dưới góc độ̣ triển khai thực tiễn Để đảm bảo an toàn cho mộ̣t hệ thố́ng thì̀kiểm soát truy nhập là mộ̣t trong những biện pháp đầu tiên và quan trọng nhất Nhờ khảnăng kiểm soát truy nhập, chúng ta có thể cho phép và từ̀ chố́i mộ̣t chủ thể (mộ̣t ngườidùng hay mộ̣t tiến trì̀nh nào đó) có quyền truy nhập vào mộ̣t đố́i tượng trong hệ thố́ng Tahoàn toàn có thể gắ́n các kiểm soát truy nhập cho cơ sở dữ liệu thông qua các chính sáchkiểm soát truy nhập, cụ thể là chính sách kiểm soát truy nhập bắ́t buộ̣c (MAC) và chínhsách kiểm soát truy nhập tùy ý́ (DAC)

Do kinh nghiệm và kiến thứ́c chưa được sâu sắ́c nên trong báo cáo về đề tài vàdemo của nhóm sẽ gặp phải sai sót, mong thầy và các bạ ̣n góp ý́ để tập thể có thểhoàn thiện tố́t hơn trong các nghiên cứ́u về sau

8

Trang 10

CHƯƠNG 1 TỔNG QUAN KIÊN THỨC MA TRÂN TRUY

NHÂP

1.1 Định nghĩa về̀ mô hình DAC và̀ MAC

Có 2 mô hì̀nh tiêu biểu dùng để quản lý́ việc truy xuất dữ liệu mộ̣t cách đúng đắ́n

và đảm bảo tính an toàn cơ sở dữ liệu là DAC (Discretionary Access Control) và MAC(Mandatory Access Control)

- DAC: quản lý́ việc truy xuất dữ liệu bằng cách quản lý́ việc cấp phát các quyềntruy xuất cho những người dùng thích hợp tùy theo yêu cầu của các chính sáchbảo mật Khuyết điểm của DAC: cho phép dòng thông tin từ̀ đố́i tượng nàytruyền sang đố́i tượng khác bằng cách đọc thông tin lên từ̀ mộ̣t đố́i tượng rồi ghithông tin đó xuố́ng mộ̣t đố́i tượng khác

- MAC: quản lý́ việc truy xuất dựa trên mứ́c độ̣ nhạ ̣y cảm của dữ liệu và mứ́c độ̣tin cậy của người dùng truy xuất CSDL Bằng cách phân lớp và gán nhãn cho

dữ liệu và người dùng, đồng thời áp dụng quy tắ́c “no read up – no writedown”,

mô hì̀nh MAC giúp ta tránh được việc rò rỉ dữ liệu có mứ́c độ̣ nhạ ̣y cảm cao racho những người dùng có mứ́c độ̣ tin cậy thấp Quyền truy cập được quyết đị ̣nhbởi hệ điều hành chứ́ không phải bởi chủ thể

1.2 DAC và̀ MAC trong Oracle

DAC: Trong Oracle Database, các nhà quản trị ̣ có thể áp dụng mô hì̀nh DACthông qua việc quản lý́ các truy xuất theo quyền đố́i tượng và quyền hệ thố́ng

MAC: Oracle hiện thực mô hì̀nh MAC trên lý́ thuyết thành sản phẩm OracleLabel Security (OLS) Tuy nhiên, do mô hì̀nh MAC lý́ thuyết tuân theo nguyên tắ́c “noread up-no write down” nên chỉ bảo đảm tính bảo mật mà không có tính toàn vẹn

Vì̀ vậy, để cung cấp mộ̣t mô hì̀nh bảo vệ tố́t hơn cho CSDL, Oracle đã cải tiến môhì̀nh MAC lý́ thuyết bằng cách thay đổ̉i nguyên tắ́c “no read up – no write down – limitedwrite down” thông qua Oracle Label Security Nhờ vậy tính bảo mật và tính toàn vẹn của

dữ liệu được đảm bảo

Trang 11

Mố́i tương quan giữa DAC và MAC: Khi người dùng nhập vào mộ̣t câu truy vấnSQL, đầu tiên Oracle sẽ kiểm tra DAC để đảm bảo rằng user đó có quyền truy vấntrên table được nhắ́c đến trong câu truy vấn Kế tiếp Oracle sẽ kiểm tra xem có chínhsách VPD nào được áp dụng cho table đó không Nếu có, chuỗi điều kiện của chínhsách VPD sẽ được nố́i thêm vào câu truy vấn gố́c, giúp lọc ra được mộ̣t tập các hàng

dữ liệu thỏ̉a điều kiện của VPD Cuố́i cùng Oracle sẽ kiểm tra các nhãn OLS trên mỗihàng dữ liệu có trong tập trên để xác đị ̣nh những hàng nào mà người dùng có thể truyxuất

Hì̀nh 1.2 Kiến trúc Oracle label security

1.3 Định nghĩa quy tắc “No read up – No write down – Limited write down”

No read up: Quy tắ́c này đơn giản là không cho phép chủ thể cấp dưới đọc biết

thông tin ở cấp cao hơn

No write down : Quy tắ́c này được đưa ra để nhằm tránh việc những chủ thể ở

cấp cao hơn có thể tì̀nh cờ tiết lộ̣ thông tin cùng cấp xuố́ng chủ thể cấp dưới

Limited write down : Quy tắ́c này cho phép chỉ viết lên những dữ liệu có độ̣

bảo mật thấp hơn độ̣ tin cậy của người dùng ở mộ̣t mứ́c giới hạ ̣n nào đó

Trang 12

1.4 Tổng quan về̀ Oracle Label Security

1.4.1 Giới thiệu sơ bộ̣ Oracle Label Security

Oracle label security (OLS) là mộ̣t sản phẩm được thực hiện dựa trên nền tảng

công nghệ VPD, mộ̣t tùy chọn bảo mật cho cơ sở dữ liệu Oracle Enterprise Edition và

cài đặt sắ́p xếp quyền truy cập vào các hàng dữ liệu bằng cách so sánh các nhãn đượcđính kèm với các hàng dữ liệu trong bảng ứ́ng dụng (sensitivity labels) và mộ̣t tập hợpcác nhãn người dùng (clearance labels)

OLS được ứ́ng dụng rộ̣ng rãi để bảo mật an toàn cho các cơ sở dữ liệu trong cáclĩ̃nh vực mang tính bảo mật cao như quân sự, quố́c phòng, ngân hàng, tập đoàn hoặccác tổ̉ chứ́c lớn trên thế giới

Trong OLS, các nhà quản trị ̣ có thể dễ dàng tạ ̣o thêm các chính sách kiểm soáttruy xuất các bảng dữ liệu cho CSDL bằng giao diện đồ họa có tên gọi là Oracle

Policy Manager hoặc bằng các packages được xây dựng sẵn

Có 6 package được hiện thực sẵn cho OLS:

- SA_SYSDBA: tạ ̣o, thay đổ̉i, xóa các chính sách.

- SA_COMPONENTS: đị ̣nh nghĩ̃a và quản lý́ các thành phần của nhãn.

- SA_LABEL_ADMIN: thực hiện các thao tác quản trị ̣ chính sách, nhãn.

- SA_POLICY_ADMIN: áp dụng chính sách cho bảng và schema.

- SA_USER_ADMIN: quản lý́ việc cấp phát quyền truy xuất và quy đị ̣nh mứ́c

độ̣ tin cậy cho các user liên quan

- SA_AUDIT_ADMIN: thiết lập các tùy chọn cho các tác vụ quản trị ̣ việc

audit Quy trì̀nh cơ bản để thực hiện mộ̣t chính sách OLS gồm 5 bước như sau:

Trang 13

1.4.2 Nhãn nhạ ̣y cả̉m (sensity label).

Mô phỏ̉ng mô hì̀nh quan hệ đa mứ́c

Mỗi hàng dữ liệu được bổ̉ sung thêm mộ̣t trường “nhãn nhạ ̣y cảm” (sensity label)

để lưu lạ ̣i mứ́c độ̣ nhạ ̣y cảm của dữ liệu trong hàng đó

Mỗi nhãn dữ liệu sẽ chứ́a thông tin về mứ́c độ̣ nhạ ̣y cảm của dữ liệu và mộ̣t số́ tiêuchí cộ̣ng thêm mà người dùng phải đáp ứ́ng để có thể truy xuất đến dữ liệu đó

Quyền truy cập được xét (cho phép hoặc không) dựa vào việc so sánh danh củangười dùng, mứ́c bảo mật của người dùng và nhãn nhạ ̣y cảm của mỗi hàng

Mỗi nhãn chứ́a 3 loạ ̣i thành phần (component):

Hình 1.2 Label ComponentsMứ́c nhạ ̣y cảm (sensitivity level): mỗi nhãn có 1 mứ́c nhạ ̣y cảm

Mứ́c nhạ ̣y cảm (Level) thể hiện mứ́c độ̣ nhạ ̣y cảm của dữ liệu hoặc mứ́cđộ̣ bảo mật của người dùng

Trang 14

Mứ́c nhạ ̣y cảm có quan hệ thứ́ bậc (hierachical)

Dạ ̣ng số́ (numeric form): dạ ̣ng số́ của level có thể có giả trị ̣ trong khoảng 0-9999

Dạ ̣ng chuỗi dài (long form): chứ́a tố́i đa 80 ký́ tự, cho biết tên đầy đủ của level

Dạ ̣ng chuỗi ngắ́n (short form): chứ́a tố́i đa 30 ký́ tự, là dạ ̣ng rút gọn của tên level Mỗikhi cần tham khảo đến level ta sử dụng tên rút gọn này

Ngăn (horizontal compartments): mỗi nhãn có từ̀ 0 đến nhiều ngăn

Compartment đị ̣nh nghĩ̃a các lĩ̃nh vực liên quan đến dữ liệu

Thành phần compartment không có mố́i quan hệ thứ́ bậc mà là quan hệ chứ́a/bao

Đố́i với mỗi compartment, ta cần đị ̣nh nghĩ̃a 1 dạ ̣ng số́ và 2 dạ ̣ng chuỗi

Dạ ̣ng số́ (numeric form): dạ ̣ng số́ của compartment có thể có giả trị ̣ trong khoảng

0-9999

Dạ ̣ng chuỗi dài (long form): tố́i đa 80 ký́ tự, là tên đầy đủ của compartment

Dạ ̣ng chuỗi ngắ́n (short form): tố́i đa 30 ký́ tự, là dạ ̣ng rút gọn của tên compartmet Khi cầntham khảo đến compartment ta sử dụng tên rút gọn này

Trang 15

Mỗi nhãn có thể có 1 hoặc nhiều hoặc không có group nào OLS cho phép tố́i đa 10,000group trong 1 chính sách.

Group giúp xác đị ̣nh những tổ̉ chứ́c, cơ quan, bộ̣ phận nào sở hữu hoặc quản lý́ dữ liệu(thông thường nó thể hiện cơ cấu của công ty)

Do vậy group có cấu trúc cây phân cấp Mộ̣t group có thể thuộ̣c mộ̣t group cha và cónhiều group con Dữ liệu thuộ̣c mộ̣t group con thì̀ được xem như cũng thuộ̣c groupcha

Thành phần group đị ̣nh nghĩ̃a cách tổ̉ chứ́c dữ liệu

Giữa các thành phần group có mố́i quan hệ (so sánh) cha-con

Dạ ̣ng số́ (numeric form): dạ ̣ng số́ của group có thể có giả trị ̣ trong khoảng 0-9999 Nókhông liên quan gì̀ đến con số́ của level Giá trị ̣ của nó dùng để quy đị ̣nh thứ́ tự hiển thị ̣của các group trong mộ̣t label Đố́i với VD trên, ta sẽ có các nhãn dạ ̣ng như sau:

S:CHEM:WR,WR_HR (WR có giá trị ̣ nhỏ̉ hơn WR_HR nên được hiển thị ̣ trước)

Dạ ̣ng chuỗi dài (long form): chứ́a tố́i đa 80 ký́ tự, cho biết tên của group

Dạ ̣ng chuỗi ngắ́n (short form): chứ́a tố́i đa 30 ký́ tự, là dạ ̣ng rút gọn của tên group Mỗikhi cần tham khảo đến group ta sử dụng tên rút gọn này

1.4.3 Cách thức hoạ ̣t độ̣ng (quả̉n lý truy cập).

Mộ̣t người dùng chỉ có thể truy cập dữ liệu nằm trong phạ ̣m vi quy đị ̣nh của nhãn nhạ ̣ycảm của mì̀nh

Trang 17

CHƯƠNG 2: SƠ LƯỢC MÔ PHỎNG TINH CHẤT NO

READ UP CUA OLS

Hì̀nh 2.1 Sơ đồ cây phân cấp group của công ty

Cầ̀n bả̉o vệ thông tin nộ̣i bộ̣ của doanh nghiệp và̀ thông tin cá nhân của nhân viên.

Trang 18

2.2 Triển khai dự án “Quả̉n lý nhân sự”

2.2.1 Truy cập đọ ̣c

Hình 2.2

2.2.2 Các loạ ̣i nhãn của user.

Trong mô hì̀nh này dùng 3 loạ ̣i nhãn: High Sensitive (HS), Sensitive(S) và

Confidential(C).

Mức nhạy cảm(Sensitive level):

Dạ ̣ng số́ Dạ ̣ng chuỗi dài Dạ ̣ng chuỗi ngắ́n

Trang 19

2.2.6 Các loạ ̣i nhãn của data.

max_read_label: nhãn thể hiện mứ́c truy xuất cao nhất đố́i với tác vụ đọc Nó bao

gồm level cao nhất (max_level) cho tác vụ đọc, tất cả các compartment và group màngười dùng được phép đọc (read_comps và read_groups) Đây là nhãn mà người quản trị ̣bắ́t buộ̣c phải gán cho người dùng nếu chọn cách quản lý́ quyền truy xuất của người dùngthông qua nhãn

max_write _label: nhãn thể hiện mứ́c truy xuất cao nhất đố́i với quyền viết Nó bao

gồm level cao nhất (max_level) cho tác vụ viết, tất cả các compartment và group mà ngườidùng được phép viết (write _comps và write _groups) Nếu người quản trị ̣ không thiết lậpgiá trị ̣ cho loạ ̣i nhãn này, nó sẽ lấy giá trị ̣ bằng giá trị ̣ của max_read_label

18

Trang 20

không chứ́a bất kỳ compartment và group nào.

Trang 21

19

Trang 22

NO READ UP CUA OLS

3.1 Các ứng dụ ̣ng cầ̀n chuẩn bị cà̀i đặ̣t thực hiện demo

Trang 23

Bước 2: Thực hiện các thao tác ban đầu với sqlplus

Hình 3.2 & 3.3

Trang 24

Hình 3.4Bước 4: Connect vào user congty, tạ ̣o bảng NHANSU và insert các giá trị ̣ vàođó

Trang 25

Bước 5: Bắ́t đầu tương tác với user LBACSYS( bao gồm việc kích hoạ ̣t user

và thay đổ̉i password theo người quản trị ̣), đây là user được oracle cho phépquản lý́ gói package SA_SYSDBA

Hình 3.7Bước 6: Tạ ̣o chính sách OLS, sau đó đị ̣nh nghĩ̃a các level, compartments,

groups

Hình 3.8

Trang 27

Hình 3.12Bước 10: Gán nhãn cho các user

Hình 3.13

Bước 11: Kiểm tra kết quả

1.Kết nố́i vào user TONGGIAMDOC

Hình 3.14User này có thể đọc được tất cả các user ở dưới quyền

Trang 28

Hình 3.14.12.Kết nố́i với GIAMDOCN

Hình3.15

Hình 3.15.1User GIAMDOCN tương ứ́ng với vị ̣ trí giám đố́c phía nam nên chỉ xem

được thông tin của nhân viên ở chi nhánh của mì̀nh

3.Kết nố́i với user NHANVIENKHB

Trang 29

Hình 3.16

User này ở mứ́c tin cậy thấp nhất nên không thể đọc data của các user ở mứ́c tincậy cao hơn như là trưởng phòng, giám đố́c chi nhánh hay tổ̉ng giám đố́c

Hình 3.16.1

Trang 30

● 4.1 Kế́t quả̉ đạ ̣t được

● Sau mộ̣t thời gian nghiên cứ́u cùng với sự hỗ trợ của giáo viên hướng dẫn, chúng

em đã đạ ̣t được những kết quả như sau:

Trang 31

TÀI LIỆU THAM KHẢO

[1] Tài liệu giới thiệu và hướng dẫn sử dụng Oracle label security

-https://docs.oracle.com/database/121/OLSAG/intro.htm#OLSAG3717

[2] Tài liệu về Tì̀m hiểu Oracle label security của AT8B

-https://xemtailieu.com/tai-lieu/tim-hieu-ve-oracle-label-security-1820126.html?fbclid=IwAR2JkOhXJlONPCI-Vv-3k2A3YZY1sV2aa_R9YRrd-ioq2n9Y2haqHCgGPhE

[3] Tài liệu Bảo mật hệ thố́ng thông tin của trường Đạ ̣i học Bách khoa từ̀ bài thựchành 8 đến bài thực hành 11 về Oracle label security

Trang 32

29

Ngày đăng: 23/03/2022, 22:15

HÌNH ẢNH LIÊN QUAN

Hình 1.2.Label Components - SỞ AN TOÀN THÔNG TIN MÔ PHỎNG TINH CHẤT NO READ UP CUA ORACLE LABEL SECURITY
Hình 1.2. Label Components (Trang 13)
Hình 2.2 - SỞ AN TOÀN THÔNG TIN MÔ PHỎNG TINH CHẤT NO READ UP CUA ORACLE LABEL SECURITY
Hình 2.2 (Trang 18)
Tiểu Luận PRO(123docz.net) - SỞ AN TOÀN THÔNG TIN MÔ PHỎNG TINH CHẤT NO READ UP CUA ORACLE LABEL SECURITY
i ểu Luận PRO(123docz.net) (Trang 18)
Hình 3.1 - SỞ AN TOÀN THÔNG TIN MÔ PHỎNG TINH CHẤT NO READ UP CUA ORACLE LABEL SECURITY
Hình 3.1 (Trang 22)
Hình 3.2 & 3.3 - SỞ AN TOÀN THÔNG TIN MÔ PHỎNG TINH CHẤT NO READ UP CUA ORACLE LABEL SECURITY
Hình 3.2 & 3.3 (Trang 23)
Bước 4: Connect vào user congty, tạ ̣o bảng NHANSU và insert các giá trị ̣vào đó - SỞ AN TOÀN THÔNG TIN MÔ PHỎNG TINH CHẤT NO READ UP CUA ORACLE LABEL SECURITY
c 4: Connect vào user congty, tạ ̣o bảng NHANSU và insert các giá trị ̣vào đó (Trang 24)
Hình 3.4 - SỞ AN TOÀN THÔNG TIN MÔ PHỎNG TINH CHẤT NO READ UP CUA ORACLE LABEL SECURITY
Hình 3.4 (Trang 24)
Hình 3.7 - SỞ AN TOÀN THÔNG TIN MÔ PHỎNG TINH CHẤT NO READ UP CUA ORACLE LABEL SECURITY
Hình 3.7 (Trang 25)
Hình 3.12 Bước 10: Gán nhãn cho các user - SỞ AN TOÀN THÔNG TIN MÔ PHỎNG TINH CHẤT NO READ UP CUA ORACLE LABEL SECURITY
Hình 3.12 Bước 10: Gán nhãn cho các user (Trang 27)
Hình 3.14.1 2.Kết nố́i với GIAMDOCN - SỞ AN TOÀN THÔNG TIN MÔ PHỎNG TINH CHẤT NO READ UP CUA ORACLE LABEL SECURITY
Hình 3.14.1 2.Kết nố́i với GIAMDOCN (Trang 28)
Hình 3.16 - SỞ AN TOÀN THÔNG TIN MÔ PHỎNG TINH CHẤT NO READ UP CUA ORACLE LABEL SECURITY
Hình 3.16 (Trang 29)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w