1
HỌC VIỆN KỸ THUẬT MẬT MÃ
Tìm hiểu, triển khai cơng nghệ tự động cập nhật bản vá cho máy trạm
và máy chủ chạy hệ điều hành Microsoft Windows
Giáo viên hướng dẫn: TS. Cao Minh Tuấn
Nhóm sinh viên thực hiện:
Nguyễn Văn Minh Hoàng
Phạm Thị Thương Mến
Thiều Thùy Trang Nữ
Trần Võ Anh Thư
NỘI DUNG
TỔNG QUAN VỀ ROOTKIT
TẤN CÔNG ROOTKIT TRONG ORACLE
PHÁT HIỆN VÀ PHÒNG TRÁNH ROOTKIT
2
3
Tổng quan
về RootKit
PRESENTED BY MEMBER OF GROUP
LỊCH SỬ ROOTKIT
TỔNG QUAN VỀ ROOTKIT
4
Eweek
CÓ 20% malware bị phát hiện trên Windows XP
Window
SP2 là rootkit
R đầu tiên được côn khai trên Window bởi
Geg Hoglund
Dangerous
Dùng để chỉ bộ công cụ Unix
Thuật ngữ
được biên dịch lại như “ps”,
Root- mức truy nhập cao
“netstat”, “ω” có thê che giấu
nhất vào hệ thống có
vết tích của kẻ xâm nhập
quyên admin , Kit- một tập
Sony Rootkit
Tỉ lệ Rootkit trong malware
Rootkit ngày càng biến hóa
Rootkit xuất hiện phổ biến
với nhiều loại Rootkit khác
trong thế giới công nghệ
nhau
ngày nay, ẩn tàng như một
16%, sự kiện Sony Rootkit
mailware tới người dùng
là 8%
các công cụ che giấu và
chiếm quyền
1999
At the beginning
….
6/12/2005
6/12/2006
…
2018
Sự kiện Sony Rootkit: Hãng ghi âm Sony BMG đã phải nộp một khoản tiền lên tới 1,5 triệu USD để đền bù cho những người dùng PC ở hai bang California và Texas khi cố tình cài 1 phần mềm chống
vi
phạm
bản
quyền
Một số Rootkit có trong như: Sâu Stuxnet, Koutodoor, TDSS
dưới
dạng
Rootkit
trong
đĩa
CD
của
hãng.
GIỚI THIỆU VỀ ROOTKIT
5
TỔNG QUAN VỀ ROOTKIT
một chương trình được thiết kế để
Rootkit độc hại thường dùng cho việc xâm
che giấu khơng chỉ chính nó mà cịn
nhập và duy trì điều khiển từ xa một cách
các thành phần liên quan khác như
bất hợp pháp, che giấu các malware,
process, file
malwware sẽ cài đặt các backdoor cho
phép hacker truy nhập tới máy bị điều
khiển
ROOTKIT
Khơng mang tính hiểm độc nhưng vẫn
Rootkit cho thấy một lỗ hổng cơ bản của hệ điều
tiềm ẩn nguy cơ mất an tồn khi được sử
hành. Khó mà biết được tính tồn vẹn của hệ
dụng với các chương trình như VISRUS,
thống tới đâu
SÂU, TROJAN.
CÁCH THỨC HOẠT ĐỘNG CỦA ROOTKIT
6
TỔNG QUAN VỀ ROOTKIT
Chiếm quyền điều khiển
Kỹ thuật Hooking
Bất kì khi nào user hay một chương trình nào truy
Hooking
Rootkit sử dụng để thay đổi đường
vấn hệ thống, kết quả trả về sẽ được mặc định tin
tưởng không chút nghi vấn. Rootkit lợi dụng sự tin
tưởng cơ bản này
Đầu tiên nó phải chiếm được quyền quản trị hệ
thống để có thể điều khiển hệ thống làm gì cho nó.
Control
dẫn thực thi của hệ điều hành
PHÂN LOẠI ROOTKIT
7
TỔNG QUAN VỀ ROOTKIT
Rootkit
Rootkit bền bỉ ( Persistent)
User mode Rootkits
Là một loại rootkit kết hợp với các mã
Có nhiều PP lẩn trốn, chặn các hàm gọi API (
độc khác hoạt động mỗi khi hệ thống
giao tiếp lt ứng dụng)
khởi động.
Rootkit dựa trên bộ nhớ( Memorybased)
Là các mã độc khơng có những đoạn mã "dai
Kernel mode Rootkits
dẳng" - chỉ lưu trong bộ nhớ, chính vì thế
Nguy hiểm hơn, chặn API, thao tác cấu trúc
loại rootkit này không tồn tại sau khi khởi
dữ liệu trong hệ thống
động lại máy.
8
Tấn công rootkit
trong oracle
PRESENTED BY MEMBER OF GROUP
TẤN CƠNG ROOTKIT TRONG ORACLE
9
Content
Kiến trúc
Quản trị
Tấn cơng
Oracle
Oracle
Rootkit
QUẢN TRỊ ORACLE
10
TẤN CÔNG ROOTKIT TRONG ORACLE
2-Tài khoản SYS.
1-Đặc quyền trong Oracle.
Image Here
Là quyền thực hiện một thao tác nhất định đối với cơ sở dữ
hồi(Revoke) đối với người dùng
Là tài khoản sở hữu cơ sở dữ liệu và từ điển dữ liệu.
được tạo tự động và được gán role DBA
Mật khẩu mặc định là change_on_install.
Không nên tạo các table hay chỉnh sửa gì trong schema của user
( ĐQ Đối tượng và hệ thống)
SYS.
Image Here
liệu.
Đặc quyền có thể được gán(Grant),cũng có thể thu
4-PL/SQL(ngơn ngữ truy vấn cấu trúc)
3-Tài khoản System
Image Here
Được tạo khi tạo cơ sở dữ liệu , được gán role DBA.
User system thường sở hữu các bảng do Oracle cung
cấp .
Image Here
SQL- Dùng để truy nhập để lấy dữ liệu từ cơ sở dữ liệu.
SQL khơng có sự đảm bảo về tính hiệu quả, khơng có vịng
User system có thể tạo thêm các table và view để cung
lặp,…
cấp thông tin quản trị.
PL/SQL khắc phục những nhược điểm của SQL và có thêm
Khơng nên tạo các đối tượng bằng tài khoản này.
những tính năng mới.
PL/SQL sử dụng cho việc tạo các procedure, function, trigger,
và object được lưu trữ trong Oracle.
TẤN CÔNG ROOTKIT ORACLE
11
TẤN CÔNG ROOTKIT TRONG ORACLE
Data Dictionary
DBA_JOBS
View dba_jobs lưu thông tin về tất
cả Jobs trong cơ sở dữ liệu
DBA_JOB_RUNNING
View dba_job_running liệt kê
thông tin về tất cả job đang chạy.
V$PROCESS
Lưu thơng tin về các tiến trình
hiện tại đang chạy.
V$SESSION
V$Session liệt kê các thông tin về mỗi session
hiện tại, rootkit cần tìm cách che giấu thơng
tin về các tiến trình ở trong các view này
TẤN CÔNG ROOTKIT ORACLE
12
TẤN CÔNG ROOTKIT TRONG ORACLE
Khả năng của Rootkit
Ẩn tài khoản truy cập.
Xóa Oracle Redo-log.
Ẩn bằng cách sửa các view source :
-Các thay đổi lên cơ sở dữ liệu được lưu trong Redo-Log file .
AND U.NAME!= ‘tên cần ẩn’.
-Rootkit cần chuyểncác redo log file trong tất cả redo log group để nội
1
dung trong đó bị thay đổi
6
Ẩn tiến trình.
Xóa Listener Log trong Oracle
-Các thơng tin được log trong listener.log của TNS-listener.
Attacker gỡ bỏ các dấu vết có trong các file này.
Các tiến trình được lưu trong view v$session nằm
2
ở schema Sys.
V$session trước và sau khi ẩn tiến trình của tin
5
tặc.
Xóa Oracle SGA
-Các dấu vết của một tấn cơng cũng lưu trong bộ nhớ của cơ sở dữ liệu SGA.
-Để gỡ các thơng tin này từ SGA, xóa shared pool bằng lệnh sau:
Alter system flush shared_pool;
-Xóa share pool sẽ ảnh hưởng tới hiệu suất và tốc độ truy cập của cơ sở dữ liệu .
4
3
Ẩn tác vụ cơ sở dữ liệu
-Hacker sẽ tạo một job và ẩn job này đi-bằng cách
giấu đi priv_user(quyền của user mà job được sử
dụng).
TẤN CÔNG ROOTKIT ORACLE
13
TẤN CÔNG ROOTKIT TRONG ORACLE
Cách thức tấn công của Rootkit
Thay đổi nguồn xem bằng cách sửa đổi nhị phân
Tin tặc sẽ tìm cách nào đó thay đổi mã nguồn của khung nhìn trong v$fixed_view_definition để che
giấu tài khoản sysdba hacker của hắn:
Select view_definition from v$fixed_view_definition where view_name = ‘GV$PWFILE_USERS’;
->Kết quả:
VIEW_DEFINITION
Select inst_id, username, decode(sysdba,1,’TRUE’,’FALSE’),
Decode(sysoper,1,’TRUE’,’FALSE’) from x$kzsrt where username not in (‘INTERNAL’,’HACKER’).
TẤN CÔNG ROOTKIT ORACLE
14
TẤN CÔNG ROOTKIT TRONG ORACLE
Cách thức tấn công của Rootkit
Thay đổi nguồn xem bằng cách sửa đổi nhị phân
Tin tặc sẽ phải tác động tới phần nhị phân để source của khung nhìn cố định bị ảnh hưởng.
TẤN CÔNG ROOTKIT ORACLE
15
TẤN CÔNG ROOTKIT TRONG ORACLE
Cách thức tấn công của Rootkit
Thay đổi đường dẫn thực thi
Dựa trên cấu trúc của đường dẫn thực thi của Oracle, sẽ có một số cách có thể cho việc thi hành một rootkit
sau.
Kiểm tra xem có object DBA_users
khơng? Nếu có thì sử dụng, khơng có thì
tìm tiếp!
TẤN CÔNG ROOTKIT ORACLE
16
TẤN CÔNG ROOTKIT TRONG ORACLE
Cách thức tấn cơng của Rootkit
Thay đổi các gói PL/SQL
Sau khi tạo một thủ tục lưu trữ, có thể truy cập mã nguồn thông qua bảng SOURCE như sau
SQL>SELECT text FROM USER_SOURCE
SQL>WHERE name =’WRAPTEST’ order by line;
Kết quả:
PROCEDURE wraptest IS
TYPE emp_tab IS TABLE OF emp%ROWTYPE INDEX BY PLS_INTEGER;
All_emps emp_tab;
BEGIN
SELECT*BULK COLLECT INTO all_emps FROM emp;
FOR i IN 1..10 LOOP
DBMS_OUTPUT.PUT_LINE(Emp Id: ‘|| all_emps(i).empno);
END LOP
END;
Hacker có thể dùng
các công cụ wrap và unwap để sửa đổi lại mã các procedure, package với các phiên bản Oracle không sử
dụng checksum.
17
Cách phát hiện và phòng
tránh Rootkit
PRESENTED BY MEMBER OF GROUP
PHƯƠNG PHÁP PHÁT HIỆN
18
CÁCH PHÁT HIỆN VÀ PHÒNG TRÁNH ROOTKIT
Panda Anti- Rootkit,
Quét máy tính
Theo dõi các sự kiện
BlackLight,RootkitRevealer của
(Sử dụng một hệ thống hoạt
SysInternals,GMER, IceSword và
động dựu trên các sự kiện liên
DarkSpy
tục theo dõi để có thể nắm bắt
được rootkit vào thời điểm nó
tiến hành tác vụ cài đặt
Anti- malware
19
DEMO
tấn công Rootkit thay đổi
đường dẫn thực thi
bằng cách tạo
View và Sysnonym
PRESENTED BY MEMBER OF GROUP
20
Nội dung Demo:
Bước 1: Chiếm quyền Root
Bước 2: Gán quyền
Bước 3: Thực thi chương trình,
che dấu thay đổi đường đẫn thực thi, xóa dấu vết
( Trong demo giả sử Hacker đã chiếm được quyền Root)
21
NGUYỄN VĂN MINH HOÀNG
AT121014
TRẦN VÕ ANH THƯ
AT121049
PHẠM THỊ THƯƠNG MẾN
MEMBER OF GROUP
THIỀU THÙY TRANG NỮ
AT121035
AT121026
22
THANKS FOR
LISTENING
PRESENTED BY MEMBER OF GROUP
23
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 :user-name:SYSTEM,password:
Enter username: SYSTEM
Enter password:
Enter password: ABC123
24
Bước 3: Tạo 1 user HACKER mật khẩu là ABC123
SQL>CREATE USER HACKER IDENTIFIED BY ABC12
3
25
Bước 4: Gán quyền DBA cho user HACKER:
SQL>GRANT DBA TO HACKER