Pháp chứng kỹ thuật số cung cấp cho sinh viên với một cách tiếp cận có hệ thống khi tiến hành một điều tra pháp chứng máy tính (cả hai loại điều tra công quyền và điều tra công ty), các yêu cầu của một phòng thí nghiệm pháp chứng máy tính bao gồm cả thiết bị phục hồi dữ liệu, phần cứng và phần mềm cần thiết để xác nhận pháp chứng kỹ thuật số trong phòng thí nghiệm.
1. Bài 11: Pháp chứng Cơ sở Dữ liệu
Giảng viên: TS. Đàm Quang Hồng Hải
PHÁP CHỨNG SỐ TRÊN MÁY TÍNH
VÀ MẠNG
2. Cơ sở dữ liệu là gì
• Cơ sở dữ liệu (database) là một tập hợp thông tin có cấu trúc
dưới dạng một tập hợp liên kết các dữ liệu lưu trên một thiết
bị lưu trữ.
• Cơ sở dữ liệu được duy trì dưới dạng một tập hợp các tập
tin trong hệ điều hành hay được lưu trữ trong các hệ quản trị
cơ sở dữ liệu với mục đích:
• Giảm trùng lặp thông tin xuống mức thấp nhất, đảm bảo
thông tin có tính nhất quán và toàn vẹn dữ liệu.
• Đảm bảo dữ liệu có thể được truy xuất theo nhiều cách
khác nhau, nhiều người có thể sử dụng một cơ sở dữ liệu.
• Thường có cơ chế bảo mật phân quyền khai thác, tránh
hiện tượng tranh chấp dữ liệu, có cơ chế
bảo vệ dữ liệu
5. Các loại Cơ sở dữ liệu
• Cơ sở dữ liệu dạng file: dữ liệu được lưu trữ dưới dạng các
file như text, ascii, *.dbf, *.mdb Foxpro.
• Cơ sở dữ liệu quan hệ: dữ liệu được lưu trữ trong các bảng
dữ liệu gọi là các thực thể, giữa các thực thể này có mối liên
hệ bởi các quan hệ có các thuộc tính trong đó có “khóa
chính”. Ví dụ: MS SQL server, Oracle, MySQL, SQLite
• Cơ sở dữ liệu hướng đối tượng: dữ liệu cũng được lưu trữ
trong các bảng dữ liệu nhưng các bảng có bổ sung thêm các
tính năng hướng đối tượng, Ví dụ: MS SQL server, Oracle,
Postgres
• Cơ sở dữ liệu bán cấu trúc: dữ liệu được lưu dưới dạng
XML, với định dạng này thông tin mô tả về đối
tượng thể hiện trong các tag.
8. Pháp chứng Cơ sở Dữ liệu
• Pháp chứng Cơ sở Dữ liệu (Database forensics) là một lĩnh
vực đặc biệt phát triển trong lĩnh vực Pháp chứng kỹ thuật
số liên quan đến việc điều tra cơ sở dữ liệu và siêu dữ liệu
có liên quan.
• Pháp chứng Cơ sở Dữ liệu có thể điều tra các giao dịch
trong một hệ thống cơ sở dữ liệu hoặc ứng dụng tìm ra bằng
chứng về hành vi sai trái, gian lận.
• Pháp chứng Cơ sở Dữ liệu có thể điều tra các hành động của
một người sử dụng cơ sở dữ liệu qua các nhãn thời gian cập
nhật của các mẫu trong
một bảng Cơ sở Dữ liệu.
10. Điều tra Cơ sở Dữ liệu nghi phạm
• Điều tra các dữ liệu trong các Cơ sở dữ liệu có trong
máy tính hoặc thiết bị di động của nghi phạm.
• Điều tra viên xem xét các nội dung cơ sở dữ liệu,
các file log, bộ nhớ, kiểm soát truy cập, các sự kiện,
và các thông tin được ghi nhận có liên quan.
• Điều tra viên xem xét cơ sở dữ liệu tập trung vào
việc xác định các giao dịch và thông tin đến/đi từ
các hệ thống cơ sở dữ liệu hoặc ứng dụng qua đó
tìm ra mà chỉ ra bằng chứng phạm tội.
12. Tội phạm với Cơ sở dữ liệu
• Tôi phạm đột nhập trái phép vào các cơ sở dữ liệu
của các lĩnh vực kinh tế quan trọng như bưu chính,
viễn thông, ngân hàng, các website…để lấy cắp
thông tin, chiếm đoạt tên miền (Domain), tài khoản
thẻ tín dụng “chùa” để mua bán, thanh toán trực
tuyến
• Tội phạm với Cơ sở dữ liệu gây thiệt hại về kinh tế
trong giao dịch điện tử và thanh toán trực tuyến như
các vụ tấn công Database của các công ty, doanh
nghiệp...
13. Tội phạm cần điều tra qua Cơ sở Dữ liệu
• Trộm cắp tiền từ thẻ tín dụng và tài khoản bằng cách
làm thẻ tín dụng giả rút tiền từ máy ATM, trả tiền
cho các dịch vụ như khách sạn, nhà hàng,
• Mua hàng đắt tiền, mua vé máy bay, mua hàng trực
tuyến bằng thông tin thẻ tín dụng và tài khoản trộm
cắp được (được gọi là ship hàng);
• Rửa tiền, chuyển tiền từ tài khoản trộm cắp được
sang tài khoản e-money tại e-gold, e-passport...,
chuyển tiền qua Western Union và tài khoản của tội
phạm.
15. Tội phạm ăn cắp tài khoản ngân hàng ---
• Tại Mỹ và Anh có gần 80 người đã bị bắt do sử dụng
Trojan Zeus ăn cắp hơn 9 triệu đô la Mỹ từ các ngân hàng.
• Tôi phạm sử dụng các tính năng của trojan Zeus để đột nhập
vào tài khoản khách hàng, ăn cắp tiền bằng cách chuyển nó
vào các tài khoản khác được lập ra bởi những kẻ đồng lõa,
cuối cùng gửi nó cho kẻ chủ mưu thông qua Western Union.
• Các nhà điều tra lần theo các dấu vết mà chúng bất cẩn để
lại trên các Log Files và các Database tìm thấy các máy chủ
lệnh và kiểm soát được bọn tội phạm sử dụng.
• Các nhà điều tra theo dõi các máy chủ lệnh và kiểm soát,
theo dõi các giao dịch đến máy chủ và tìm ra dấu vết
bọn tội phạm cũng như kẻ chủ mưu.
16. Tội phạm với Cơ sở Dữ liệu tại Việt nam
• Ở Việt Nam, một số cơ quan chính phủ và các
ngành sẽ phải kết nối mạng trong tiến trình phát
triển chung của xã hội cũng như lộ trình xây dựng
chính phủ điện tử ở Việt Nam.
• Những mạng máy tính thuộc lĩnh vực kinh doanh,
dịch vụ tài chính, ngân hàng, thì các mạng máy tính
của các cơ quan chính phủ, bộ, ban, ngành cũng có
thể là đối tượng bị tấn công từ xa và thiệt hại do mất
thông tin bí mật quốc gia.
18. Điều tra Cơ sở Dữ liệu
• Điều tra một cơ sở dữ liệu quan hệ đòi hỏi người
điều tra phải có kiến thức về các tiêu chuẩn được sử
dụng để mã dữ liệu trên đĩa máy tính.
• Điều tra viên cần phải tìm hiểu các tài liệu hướng
dẫn các tiêu chuẩn được sử dụng để mã hóa thông
tin trong các phần mềm quản trị cơ sở dữ liệu cần
điều tra như SQL Server và Oracle.
19. Điều tra trên Cơ sở Dữ liệu lớn
• Đối với hầu hết các tổ chức, cơ sở dữ liệu đã trở
thành một phần không thể thiếu.
• Hiện nay, nhiều cơ sở dữ liệu doanh nghiệp là rất
lớn so với bất kỳ loại đĩa như một cơ sở dữ liệu
thuộc về một công ty bảo hiểm có 100 TB chứa các
dữ liệu kinh doanh quan trọng.
• Điều tra viên cần phải biết sử dụng các công cụ làm
công việc pháp chứng trên những cơ sở dữ liệu như
vậy.
21. Bảo quản dữ liệu trong điều tra
• Điều tra viên thu thập các bằng chứng cần thiết bắt đầu từ
nơi có vi phạm và làm việc đảm bảo Cơ sở dữ liệu không
thay đổi.
• Bảo vệ Audit Trail của Cơ sở dữ liệu - Bảo vệ Audit Trail
để kiểm toán các thông tin không có thể được thêm vào,
thay đổi, hoặc xóa.
• Điều tra viên chỉ truy cập dữ liệu thích hợp và hạn chế hành
động của mình nhằm tránh làm lộn xộn các thông tin có ý
nghĩa và thay đổi các bằng chứng;
• Điều tra viên cần lập kế hoạch và mục tiêu tất cả các hoạt
động cơ sở dữ liệu trước khi bắt đầu.
• Chú ý nghiên cứu sơ đồ quan hệ thực thể của
Cơ sở dữ liệu (ERD).
22. Audit Trail
• Một Audit Trail (còn gọi là nhật ký kiểm toán) là một
bản ghi bảo mật có liên quan thời gian, thiết lập hồ sơ,
nguồn và đích của các hồ sơ cung cấp bằng chứng tài
liệu của chuỗi các hoạt động đã ảnh hưởng đến bất cứ
lúc nào một hoạt động, thủ tục cụ thể, hoặc sự kiện liên
quan đến Cơ sở dữ liệu
• Các thông tin Audit có thể được lưu trữ trong các cơ sở
dữ liệu Audit Trail hoặc các tập tin trên hệ điều hành.
• Audit Trail bao gồm các hoạt động liên quan đến quyền
(privileges), lược đồ, các đối tượng, và báo cáo.
24. Lược đồ thể hiện cấu trúc - ERD
• Lược đồ thể hiện cấu trúc (ERD - Entity
Relationship Diagram) trừu tượng hóa dữ liệu trong
tổ chức dựa trên khái niệm thực thể (entity) và quan
hệ (relationship) giữa các thực thể, để nhằm thể hiện
nội dung, ý nghĩa của dữ liệu trong hệ thống
25. ERD
• XCase và DbVisualiser là các công cụ cho điều tra cơ
sở dữ liệu. Chúng là công cụ CASE tạo ra một bản đồ
trực quan của cơ sở dữ liệu và các bảng
• Công cụ CASE có thể là một trợ giúp ứng phó sự cố và
công việc liên quan đến pháp lý hệ thống cơ sở dữ liệu.
• Công cụ CASE hoặc phần mềm máy tính hỗ trợ các
công cụ kỹ thuật không chỉ giúp trong việc phát triển
phần mềm và cơ sở dữ liệu cấu trúc nhưng có thể được
sử dụng để giúp điều tra viên xem xét cơ sở dữ liệu và
kiểm tra xem chúng khi so với các sơ đồ khác.
27. SQL Server
• SQL Server là hệ quản trị CSDL Client/Server
• Định nghĩa, chỉnh sửa CSDL, lược đồ, quan hệ giữa các
lược đồ
• Thêm, sửa, xóa thông tin lưu trong các lược đồ
• Hỗ trợ các tính năng bảo mật, sao lưu phục hồi, cấp
quyền truy nhập
• Phần mềm của hãng IBM sáng lập khoảng đầu
những năm 1970 (SEQUEL: Structure English
QUEry Language)
• Sau ngôn ngữ Sequel được viết ngắn lại thành
SQL (Structure Query Language)
28. Cơ sở dữ liệu Client/Server
• Hệ thống Client/Server gồm 3 phần
• Hệ thống phía Server: xử lý yêu cầu và phục vụ
• Hệ thống phía Client: nơi yêu cầu và nhận dữ liệu
• Hệ thống giao tiếp qua mạng giữa Client và
Server
SQL Server
Client Application
OLAPOLAP
OLTPOLTP
QueryQueryQueryQuery
ResultsResultsResultsResults
29. Microsoft SQL
• Microsoft SQL Server là hệ quản trị cơ sở dữ liệu
lớn do hãng Microsoft phát triển, được cài đặt và
chạy trên hệ điều hành Windows,
• Microsoft SQL Server khá phổ biến và thân thiện
với người dùng thông qua giao diện đồ họa trên
Windows.
• Dễ dàng xây dựng ứng dụng từ các ngôn ngữ lập
trình (Visual Basic, Visaul Basic.net, ASP, ASP.net,
PHP …) trên hệ quản trị CSDL Microsoft SQL
Server
30. Điều tra với Microsoft SQL
Có 4 thành phần liên quan đến Audit trong MS SQL server
• SQL Server Audit: là thành phần Audit thu thập hành động
hoặc một nhóm hành động cấp độ Server hoặc cơ sở dữ liệu.
Như SUCCESSFUL_LOGIN_GROUP,
LOGOUT_GROUP, FAILED_LOGIN_GROUP
• Server Level Audit Specification: đặc tả thành phần Audit
thu thập các hành động hoặc một nhóm hành động cấp độ
máy chủ:
• Database Level Audit Specification: đặc tả thành phần
Audit thu thập các hành động hoặc một nhóm hành động
cấp độ cơ sở dữ liệu như
• Target: nơi chứa các mẫu tin Audit, các file log …
32. Công cụ Arbutus Analyzer
• Arbutus Analyzer là một công cụ trên Windows có
khả năng phân tích dữ liệu Audit, phân tích dữ liệu,
và điều tra nghi phạm đã truy cập và sữ dụng dữ liệu
máy chủ hoặc máy tính lớn.
34. Công cụ Idea Data Analysis
• Idea Data Analysis là công cụ phân tích Cơ sở dữ
liệu được thiết kế kiểm tra Audit, có khả năng phân
tích dữ liệu một cách nhanh chóng để giúp kiểm
soát và xác định các sự cố.
38. Hệ quản trị cơ sở dữ liệu MySQL
• MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở
phổ biến nhất thế giới và được các nhà phát triển rất
ưa chuộng trong quá trình phát triển ứng dụng.
• MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ
sử dụng, có tính khả chuyển, hoạt động trên nhiều
hệ điều hành cung cấp một hệ thống lớn các hàm
tiện ích rất mạnh.
• MySQL có tốc độ và tính bảo mật cao, rất thích hợp
cho các ứng dụng có truy cập CSDL trên Internet.
• MySQL được sử dụng rộng rãi trên các Server cài
HĐH mã nguồn mở như Linux
40. SQLite Database
• SQLite là hệ thống cơ sở dữ liệu quan hệ mã nguồn mở nhỏ
gọn, hoàn chỉnh, có thể cài đặt bên trong các trình ứng dụng
khác., cài đặt thông dụng trong các thiết bị di động Android,
iOS, Windows Phone
• SQLite được Richard Hipp viết dưới dạng thư viện bằng
ngôn C với các ưu điểm sau:
• Tin cậy: các hoạt động transaction (chuyển giao) nội
trong cơ sở dữ liệu được thưc hiện trọn vẹn, không gây
lỗi khi xảy ra sự cố phần cứng
• Tuân theo chuẩn SQL92 (chỉ có một vài đặc điểm không
hỗ trợ), không cần cài đặt cấu hình,Kích thước chương
trình gọn nhẹ, với cấu hình đầy đủ chỉ
không đầy 300 kB
42. Công cụ Epilog
• Epilog cho phép phục hồi dữ liệu bị xóa chứa trong cơ sở
dữ liệu SQLite.
• Epilog cho phép phân tích dữ liệu SQLite vừa phục hồi và
đưa chúng với một bảng trong các tập tin cơ sở dữ liệu đang
hoạt động.
43. Công cụ SQLite Forensic Reporter
• SQLite Forensic Reporter có khả năng phân tích, giải nén và
báo cáo thông tin từ bất kỳ cơ sở dữ liệu SQLite (không bị
hỏng hoặc mã hóa).
44. Hệ Cơ sở dữ liệu Oracle
• Oracle là tên của một hãng phần mềm, một hệ quản trị cơ sở
dữ liệu phổ biến trên thế giới. Hãng Oracle ra đời đầu
những năm 70 của thế kỷ 20 tại nước Mỹ.
• Oracle database lưu trữ dữ liệu trên ổ cứng dưới định dạng
file của Oracle. Oracle Database được xếp vào hàng rất lớn
trong số các hệ quản trị cơ sở dữ liệu quan hệ.
• Datafile được truy xuất thông qua Oracle instance. Mỗi
session sẽ có một instance và tất cả các thao tác với CSDL
sẽ thông qua instance đó.
• Kiến trúc Oracle dựa trên mô hình Client-Server, Client sẽ
giao tiếp với Server thông qua ngôn ngữ SQL, có nghĩa là
Client sinh ra ngôn ngữ SQL và tầng server sẽ thực thi nó.
46. Các file Log cần chú ý trong Oracle
• Listener.log
• Trace files
• Incident Response Files
• Alert.logs
• Data files
• SYSDBA Audit Logs
• Redo/Archive Logs
• Unix History Files
47. Công cụ điều tra Oracle database
• Logminer
• DataWalker for Oracle
• Verity Data Block Examiner,
• McAfee Security Scanner for Databases
48. Công cụ Logminer
• Logminer là một công cụ miễn phí được cung cấp bởi
tập đoàn Oracle cho người mua cơ sở dữ liệu Oracle.
• Logminer cung cấp khả năng xem xét các bản log về
các thay đổi thực hiện cho một cơ sở dữ liệu Oracle,
lệnh SQL liên quan đến dữ liệu trong Oracle ghi lại
trong các bản log file.
• Logminer có giao diện GUI với các chức năng đi kèm
với các phần mềm quản lý Oracle Enterprise.
• Logminer có cơ chế khai thác dữ liệu trên các tiến trình
nội bộ của cơ sở dữ liệu riêng của mình.