1. Trang chủ
  2. » Công Nghệ Thông Tin

các tấn công vào cơ sở dữ liệu ORACLE.(ppt)

24 1,4K 12

Đ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 24
Dung lượng 504,26 KB

Nội dung

MỤC LỤC Lời nói Đầu 2 Chương 1: Cơ sở lý thuyết 3 1.1Giới thiệu về Oracle 3 1.2 Quá trình cài đặt Oracle 4 Chương 2: Các hình thức tấn công phổ biến trên Oracle 9 2.1 Tấn công SQL Injection 9 2.1.1 Định nghĩa 9 2.1.2 Các dạng lỗi thường gặp 9 2.2 Tấn công chèn mã PLSQL 15 2.3 Tấn công Rootkit trong Oracle 17 2.3.1 Ẩn tải khoản Oracle Rootkit 17 2.3.2 Ẩn process 20 2.3.3 Ẩn Database Jobs 21 2.3.4 Mô tả tấn công Oracle sử dụng rootkit kết hợp với backdoor 21 2.4 Tấn công Oracle Listener 22 2.4.1 Khai thác thông tin CSDL Oracle qua Listener 22 2.4.2 Tấn công từ chối dịch vụ 25 2.5 Sâu Oracle 26 2.5.1 Sử dụng WORMFS với NFS Khách hàng 26 2.5.2 Tạo tập tin WORM 29 2.5.3 Thời gian lưu giữ 32 2.6 Tấn công mật khẩu 34 2.6.1 Tấn công dò tài khoản 34 2.6.2 Tấn công tài khoản có mật khẩu yếu 34 2.6.3 Dò mật khẩu SYS. SYSTEM 35 Chương 3: Tổng kết quá trình tìm hiểu tấn công trên CSDL Oracle 37 Tài liệu tham khảo 38 Lời nói Đầu Cơ sở dữ liệu là một trong những ngành được quan tâm nhiều trong khoa học máy tính nói chung và trong công nghệ thồn tin nói riêng. Từ khi có mô hình cơ sở dữ liệu đầu tiên vào những năm 60 đến nay, tuy không phải là chặng đường dài so với các ngành khoa học khác, nhưng với ngành khoa học máy tính và đặc biệt là cơ sở dữ liệu thì đó là thời gian đáng kể. Cơ sở dữ liệu đã trải qua nhiều thế hệ của hệ quản trị cơ sở dữ liệu đã có nhiều ứng dụng trong khoa học và các ngành kinh tế quốc dân. Hệ quản trị cơ sở dữ liệu ORACLE là một trong những hệ quản trị cơ sở dữ liệu lưu trữ thông tin an toàn và chắc chắn đồng thới lại truy cập chính xác, dễ dàng. Cơ sở dữ liệu (CSDL) của các tổ chức, doanh nghiệp luôn là mục tiêu của nhiều cuộc tấn công. Bởi đây là nơi lưu trữ các thông tin về khách hàng và nhiều dữ liệu bí mật khác. Một trong những nguyên nhân khiến cho các CSDL dễ bị tổn thương bởi các tấn công là do các tổ chức, doanh nghiệp chưa có biện pháp bảo vệ đầy đủ cho tài nguyên này. Khi kẻ xấu truy nhập vào dữ liệu nhạy cảm, có thể thực hiện tất cả các công việc để gây mất mát về tài chính hoặc phá hoại danh tiếng của tổ chức, doanh nghiệp. Và sau đây nhóm em xin trình bày đề tài các tấn công vào cơ sở dữ liệu ORACLE. Do còn hạn chế nhiều về thời gian, kiến thức và kinh nghiệm thực tế nên đề tài của nhóm không tránh khỏi những thiếu sót và khuyết điểm. Nhóm thực hiện đề tài rất mong nhận được sự đánh giá, nhận xét của các Thầy, các Cô và sự góp ý của các bạn sinh viên để giúp đề tài này được hoàn thiện hơn, từ đó nhóm chúng em có thể rút kinh nghiệm trong nghiên cứu và công việc sau này. Nhóm chúng em xin chân thành cảm ơn Chương 1: Cơ sở lý thuyết 1.1 Giới thiệu về Oracle Trong quá trình quản lý việc xử lý thông tin là vấn đề phức tạp vì lượng thông tin nhận được ngày một lớn và thường xuyên. Ngày nay có rất nhiều chương trình ứng dụng giúp ta quản lý và lưu trự thông tin dễ dàng. Trong đó có thể kể đến Oracle, là một trong những chương trình ứng dụng, nó có cơ chế bảo mật dữ liệu rất chặt chẽ giúp cho hệ thống hoạt động rất tốt và rất an toàn trong việc cập nhật và truy cập dữ liệu, tránh được việc mất mát dữ liệu, dễ dàng bảo trì và nâng cấp, có cơ chế quyền hạn rõ ràng vì vậy nó được sử dụng ở nhiều tổ chức lớn như ngân hàng, chính phủ…Nó không chỉ có lợi cho những nhà phát triển như dễ cài đặt, dễ triển khai, dễ nâng cấp lên phiên bản mới mà còn thuật lợi cho lập trình viên như viết các Trigger, Package vì trong Oracle còn tích hợp thêm PLSQL là một ngôn ngữ lập trình có cấu trúc ( Structure Language) và đây chính là điểm rất mạnh của Oracle so với các cơ sở dữ liệu khác. Ngoài ra Oracle còn tương tác tốt với nhiều hệ điều hành như Windows , Linux. Oracle là bộ giải pháp được cung cấp bởi công ty Oracle (http:www.oracle.comindex.html ) Đây là một hệ quản trị CSDL có tính bảo mật cao, hỗ trợ tốt các mô hình truy cập dữ liệu tập trung cũng như phân tán. Giải pháp của Oracle bao gồm các sản phẩm sau: Hệ quản trị CSDL Oracle Database được cài đặt trên máy chủ Database Server Oracle Client được cài đặt trên máy trạm cho phép các ứng dụng tại máy trạm truy cập và thao tác với ứng dụng tại máy chủ. Công cụ cho việc thiết kế và quản trị CSDL như Oracle Designer, SQL Plus. PLSQL là ngôn ngữ thủ tục cho được Oracle dùng để xây dựng đối tượng trong Oracle Database.

Trang 1

Học Viện Kỹ Thuật Mật Mã

Khoa An Toàn Thông Tin

Đề Tài Tìm Hiểu Các Hình Thức Tấn Công CSDL Oracle

Nhóm thực hiện: Đỗ Anh Thắng

Nguyễn Thị Nga

Lê Quang Long

Lê Thị Linh

Trang 2

∗ Cơ sở lý thuyết

∗ Các hình thức tấn công phổ biến vào cơ sở dữ liệu Oracle

∗ Tổng kết

Nội Dung

Trang 3

∗ Giới thiệu về Oracle

∗ Quá trình cài đặt Oracle

Cơ Sở Lý Thuyết

Trang 4

∗ Oracle là hệ quản trị CSDL có tính bảo mật cao.

∗ Oracle hỗ trợ tốt các mô hình truy cập dữ liệu tập trung cũng như phân tán

∗ Giải pháp của Oracle bao gồm các sản phẩm:

- Hệ quản trị CSDL Oracle Database

- Công cụ cho việc thiết kế và quản trị CSDL như Oracle Designer, SQL Plus

- PL/SQL là ngôn ngữ thủ tục cho được Oracle dùng để xây dựng đối tượng trong Oracle Database

Giới Thiệu Về Oracle

Trang 5

∗ 1.Tấn công SQL Injection

∗ 2.Tấn công chèn mã PL/SQL

∗ 3.Tấn công Rootkit Oracle

∗ 4.Tấn công Oracle Listener

∗ 5.Sâu Oracle

∗ 6.Tấn công mật khẩu

Các Hình Thức Tấn Công Phổ Biến CSDL Oracle

Trang 6

Định Nghĩa: SQL Injection là một kỹ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng vào việc kiểm tra dữ liệu đầu vào trong các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu trả về để inject ( tiêm vào) và thi hành các câu lệnh SQL bất hợp pháp

∗ SQL injection có thể cho phép kẻ tấn công thực hiện thao tác , delete, insert, update…trên cơ sở

dữ liệu của các ứng dụng

Tấn công SQL Injection

Trang 7

∗ Không kiểm tra ký tự thoát truy vấn

∗ Xử lý không đúng kiểu

∗ Blind SQL injection

∗ Thay đổi giá trị kiểu truy vấn

∗ Điều kiện lỗi

∗ Thời gian trễ

∗ Một số dạng tấn công thường gặp với ứng dụng Web

Các Dạng Lỗi Thường Gặp Trong Tấn công SQL Injection

Trang 8

∗ Đây là dạng lỗi SQL injection xảy ra khi thiếu đoạn mã kiểm tra dữ liệu đầu vào trong câu truy vấn SQL

∗ Kết quả là người dùng cuối có thể thực hiện một số truy vấn không mong muốn đối với cơ sở dữ liệu của ứng dụng

∗ Ví Dụ:

statement = "SELECT * FROM users WHERE name = '" + userName + "';“

Câu lệnh được thiết kế để trả về các bản ghi tên người dùng cụ thể từ bảng người dùng Tuy nhiên, nếu biến userName được nhập chính xác theo một cách nào đó bởi người dùng ác ý, nó có thể trở thành một câu truy vấn SQL với mục đích khác hẳn so với mục đích của tác giả của đoạn mã trên Ví

dụ như biến UserName thành như sau:

a' or 't'='tKhiến câu truy vấn được hiểu như sau:

SELECT * FROM users WHERE name = 'a' OR 't'='t';

Không Kiểm Tra Ký Tự Thoát Truy Vấn

Trang 9

Lỗi SQL injection dạng này thường xảy ra do lập trình viên hay người dùng định nghĩa đầu vào dữ liệu không rõ ràng hoặc thiếu bước kiểm tra và lọc kiểu dữ liệu đầu vào

Ví Dụ:

statement:= "SELECT * FROM data WHERE id = " + a_variable + ";“

Ý định của tác giả đoạn mã trên là nhập vào một số tương ứng với trường id - trường số Tuy nhiên, người dùng cuối, thay vì nhập vào một số, họ có thể nhập vào một chuỗi ký tự

Ví dụ, ta thiết lập giá trị của biến a_variable là:

1;DROP TABLE users

Khi đó, nó sẽ thực hiện thao tác xóa người dùng có id tương ứng khỏi cơ sở dữ liệu, vì câu truy vấn hoàn chỉnh đã được hiểu là:

SELECT * FROM DATA WHERE id=1;DROP TABLE users;

Xử Lý Không Đúng Kiểu

Trang 10

∗ Lỗi SQL injection dạng này là dạng lỗi tồn tại ngay trong ứng dụng web nhưng hậu quả của chúng lại không hiển thị trực quan cho những kẻ tấn công.

∗ Nó có thể gây ra sự sai khác khi hiển thị nội dung của một trang chứa lỗi bảo mật này

∗ Hậu quả của sự tấn công SQL injection dạng này khiến cho lập trình viên hay người dùng phải mất rất nhiều thời gian để phục hồi chính xác từng bit dữ liệu

Blind SQL Injection

Trang 11

∗ Dạng lỗi này khiến kẻ tấn công có thể thay đổi giá trị điều kiện trong câu lệnh truy vấn, làm sai lập sự hiển thị của một ứng dụng trong lỗi này.

∗ Ví dụ:

SELECT booktitle FROM booklist WHERE bookId = 'OOk14cd' AND 1=1

Sẽ hiển thị một cách bình thường trong khi:

SELECT booktitle FROM booklist WHERE bookId = 'OOk14cd' AND 1=2;

Thay Đổi Kiểu Giá Trị Truy Vấn

Trang 12

∗ Dạng tấn công vượt qua kiểm tra lúc đăng nhập

∗ Dạng tấn công sử dụng câu lệnh SELECT

∗ Dạng tấn công sử dụng câu lệnh INSERT

Một Số Dạng Tấn Công Ứng Dụng Web

Trang 13

Trong các trang tìm kiếm người dùng nhập thông tin tìm kiếm như họ tên Đoạn mã thường gặp là:

Dạng tấn công sử dụng câu lệnh SELECT

Trang 14

∗ Tương tự như trên, tin tặc có thể lợi dụng sơ hở trong câu truy vấn SQL để nhập vào trường tên tác giả bằng chuỗi giá trị:

∗ Lúc này, ngoài câu truy vấn đầu không thành công, chương trình sẽ thực hiện thêm lệnh tiếp theo sau từ khóa UNION nữa Giả sử đoạn mã nhập vào là:

Trang 15

∗ PL/SQL injection là một kỹ thuật tấn công khá quan trọng liên quan tới các procedure được lưu trữ trong oracle

∗ người tấn công có thể leo thang đặc quyền từ tài khoản Public tới tài khoản đặc quyền mức DBA

∗ Có thể inject vào các câu lệnh insert, select, delete, update trong các procedure, package, vào các anonymous PL/SQL Blook

Tấn Công Chèn Mã PL/SQL

Trang 16

∗ Ẩn Tài Khoản Oracle Rootkit

∗ Ẩn process

∗ Ẩn Database Jobs

∗ Mô tả tấn công Oracle sử dụng rootkit kết hợp với backdoor

Tấn Công RootKit Oracle

Trang 17

∗ Backdoor cho phép attacker thực hiện câu lệnh và truy vấn database từ xa và nhận hồi đáp từ server

∗ Attacker thường kết hợp cài backdoor với rootkit để che giấu hoạt động của backdoor

∗ Tạo một chương trình backdoor, sử dụng một chức năng network có sẵn để mở một kết nối tới vị trí của attacker Chương trình sẽ đọc kết nối và thực hiện các câu lệnh attacker gửi tới Sau đó gửi lại kết quả thực hiện của câu lệnh

∗ Để tránh bị phát hiện, kết nối giữa backdoor và attacker có thể được mã hóa hoặc đóng gói theo một cách nào đấy nhằm tránh sự phát hiện của hệ thống IDS, IPS

∗ Backdoor cài đặt trên database server, còn backdoor console chạy trên host của attacker sẽ giao tiếp qua giao thức TCP/IP

Mô Tả Tấn Công Oracle Sử Dụng Backdoor

Trang 18

∗ Khai thác thông tin CSDL Oracle qua Listener

∗ Tấn công từ chối dịch vụ

Tấn Công Oracle Listener

Trang 19

∗ Listener là một tiến trình mạng của CSDL Oracle

Mô tả vấn đề

Listener được coi là cổng vào cho các kết nối từ xa đến một CSDL Oracle Theo mặc định, Listener lắng nghe trên cổng 1521 (cổng 2483 là cổng đăng ký chính thức mới TNS Listener và 2484 cho TNS Listener

sử dụng SSL)

∗ Nếu Listener "tắt" thì truy cập từ xa vào CSDL sẽ ngừng Nếu trường hợp này xảy ra, ứng dụng

ngừng, tức là tạo ra một cuộc tấn công từ chối dịch vụ

Khai Thác Thông Tin CSDL Oracle qua Listener

Trang 20

Khai thác thông tin CSDL Oracle qua Listener

Trang 21

∗ Trong trường hợp chúng ta không tìm thấy tài khoản có quyền DBA, nhưng tài khoản OUTLN và BACKUP giữ một quyền cơ bản: EXECUTE ANY PROCEDURE

Trang 22

∗ WORM có thể hoạt động ở một trong hai chế độ:

Sun standard compliance mode ( chế độ tiêu chuẩn)

Sun emulation compliance mode ( chế độ thi đua)

Sâu Oracle

Trang 23

∗ 1 Dò tài khoản mặc định

∗ 2 Dò tài khoản có mật khẩu yếu

∗ 3 Dò mật khẩu SYS SYSTEM

Tấn công mật khẩu

Trang 24

Cảm Ơn Cô Và Các Bạn

Đã Lắng Nghe 

Ngày đăng: 24/03/2015, 15:42

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w