Hệ thống tập tin trong LinuxCác hệ thống Linux hiện nay phần lớn sT dụng hệ thống tập tin Ext3 kế thừa từ• Super Block: là một cấu trúc được tạo tại vị trí bắt đầu hệ thống tập tin.. • I
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG THƯƠNG TP HCM
KHOA CÔNG NGHỆ THÔNG TIN
-
-BÁO CÁO PHÁP CHỨNG KỸ THUẬT SỐ
ĐỀ TÀI: TÌM HIỂU VÀ TRIỂN KHAI KỸ THUẬT PHÁP
CHỨNG TRÊN HĐH LINUX
TP HCM, Năm 2023
Trang 2BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG THƯƠNG TP HCM
KHOA CÔNG NGHỆ THÔNG TIN
- -BÁO CÁO PHÁP CHỨNG KỸ THUẬT SỐ
ĐỀ TÀI: TÌM HIỂU VÀ TRIỂN KHAI KỸ THUẬT PHÁP
CHỨNG TRÊN HĐH LINUX
GVHD: Vũ Đức Thịnh Sinh viên thực hiện:
2033207467 – Mai Nhựt Trường
2033207549 – Phạm Lê An
2033207505 – Nguyễn Văn Chung
2033207527 – Nguyễn Duy Khang
Trang 3BẢNG PHÂN CÔNG VÀ ĐÁNH GIÁ KẾT QUẢ THỰC HIỆN
CÔNG VIỆC NHÓM
2 Phạm Lê An
Tìm hiểu phần thư mục home và log files, chế đo lập lịch Tổng hợp world, pp
Hoàn thành đúng hạn
3 Nguyễn Văn Chung Tìm hiểu linux( khái
niệm,hệ thống….) Hoàn thành đúng hạn
4 Nguyễn Duy Khang trong linuxTìm hiểu Quyền và tập tin Hoàn thành đúng hạn
Trang 4Lời cam đoan
Chúng em xin cam đoan đề tài : tìm hiểu và khai triển kỹ thuật pháp chứng trên linux là đề tài nghiên cứu và thực hiê Gn Chúng em đã kiểm tra dữ liệu theo quy định hiện hành
Kết quK làm bài tập cuối kì của môn tìm hiểu và khai triển kỹ thuật pháp chứng trên linux là trung thực và không sao chép từ bất kỳ bài tập của nhóm khác
Các tài liê Gu được sT dụng trong tập dự án lớn có nguVn gốc, xuất xứ rW ràng
(Ký và ghi rõ h tên) ọ
An
Ph m Lê Anạ
Trang 5Mục lục
Linux 1
1 Khái niệm 1
2 Hệ thống tập tin trong Linux 1
3 Các thành phần của hệ thống tập tin 2
4 Các loại tập tin trong Linux 2
5 Các tập tin thiết bị 2
6 Công cụ nhật ký - Journal Tools 3
7 QuKn lý phân v_ng trên Linux 3
8 Tiến trình khởi động Linux và dịch vụ 4
9 Hệ thống Filesystem phân cấp trong Linux 4
Quyền và các tập tin trong linux 4
1 Quyền và thuộc tính files 4
2 Tập tin ẩn (Hidden files) 5
Thư mục Home và Log files 5
A Thư mục Home 5
B BKn ghi (Log Files) 5
Cơ chế lập lịch (Scheduling Tasks) 6
Trang 71 Khái niệm
Linux không phKi hệ điều hành phổ biến nhất, phần lớn các máy laptop và desktop chạy hệ điều hành Windows nhưng Linux lại rất phổ biến trên các máy chủ
Linux là lựa chọn hàng đầu cho các nhà cung cấp dịch vụ Internet và các công
ty lớn như Google
Linux cũng là nền tKng tuyệt vời sT dụng để thực hiện điều tra số trên các nền tKng khác: Windows, OS X, Android,…
Hệ điều hành Linux hiện có các nhánh Ubuntu, Fedora, CentOS , và chủ yếu được phát triển bởi cộng đVng mã nguVn mở trên khắp thế giới
Linux hiện sT dụng rộng rãi trên các Server và trên máy tính cá nhân với khá nhiều phần mềm hỗ trợ phong phong phú
Trang 82 Hệ thống tập tin trong Linux
Các hệ thống Linux hiện nay phần lớn sT dụng hệ thống tập tin Ext3 kế thừa từ Ext2
Còn có các hệ thống Linux khác:
•
•
•
•
3 Các thành phần của hệ thống tập tin
• Super Block: là một cấu trúc được tạo tại vị trí bắt đầu hệ thống tập tin Nó lưu trữ thông tin về hệ thống tập tin như: block-size, free block, thời gian gắn kết (mount) cuối c_ng của tập tin
• Inode (256 byte): Lưu những thông tin về những tập tin và thư mục được tạo
ra trong hệ thống tập tin
• Storageblock: Là v_ng lưu dữ liệu thực sự của tập tin và thư mục Nó chia thành những Data Block Mỗi block thường chứa 1024 byte Ngay khi tập tin chx có 1 ký tự thì cũng phKi cấp phát 1 block để lưu nó
4 Các loại tập tin trong Linux
Tập tin dữ liệu: Đây là tập tin theo định nghĩa truyền thống, nó là dữ liệu lưu
trữ trên các thiết bị lưu trữ như đĩa cứng, CD-ROM,…
• Tập tin thư mục: Thư mục không chứa dữ liệu, mà chx chứa các thông tin của những tập tin và thư mục con trong nó Thư mục chứa hai trường của một tập tin là tên tập tin và inode number
5 Các tập tin thiết bị
Tập tin thiết bị: Hệ thống Unix và Linux xem các thiết bị như là các tập tin.
Trang 9Đơn vị dữ liệu - Data unit : Đơn vị dữ liệu trong hệ thống tập tin Ext được gọi
là khối (block) Kích thước mỗi block: 1, 2 hoặc 4K
Siêu dữ liệu - Metadata
Metadata: là dữ liệu mô tK file, nó cho biết vị trí lưu trữ các file, kích thước
file, thời gian đọc và ghi dữ liệu vào file, các thông tin điều khiển truy nhập
• (M)odified: Là thời gian cập nhật các nội dung của tập tin hoặc thư mục được sTa đổi
• (A)ccessed: Được cập nhật khi các nội dung của tập tin hoặc thư mục được đọc
• (C)hanged: Mốc thời gian khi dữ liệu được chxnh sTa
• (D)eleted: Cập nhật khi tập tin bị xóa
6 Công cụ nhật ký - Journal Tools
Là thành phần chx có trên Ext3 mà Ext2 không có
Nhiệm vụ chính là ghi lại thay đổi metadata trên mỗi block được đánh thứ tự Journal bắt đầu với một block mô tK, sau đó tới 1 hay nhiều block dữ liệu, cuối c_ng là block xác nhận kết thúc
7 Quản lý phân vqng trên Linux
Một hệ thống Linux có 1 hoặc nhiều phân v_ng được quKn lý bởi LVM (Logical volume Manager), được xác định bởi lệnh fdisk -l
• Sự hiện diện của 1 phân v_ng LVM được xác định bằng cách kiếm kiểu phân v_ng 8e
Trang 108 Tiến trình khởi động Linux và dịch vụ
Quá trình khởi động được mô tK ngắn gọn qua 4 bước như sau:
•Nạp bộ khởi động, tKi kernel ở thư mục /boot
• RAM nạp tập tin init.d chứa trình điều khiển thiết bị và module hệ thống tập tin
• Kernel nạp hệ thống phần cứng Sau đó, kernel nạp hệ điều hành và bắt đầu tiến trình /sbin/init
• Khi init khởi động, có 2 cách khởi động để hoàn tất quá trình khởi
động: Syste V và BSD
Dịch vụ : thường được sT dụng chính là System V và BSD (Berkeley Software
Distribution)
9 Hệ thống Filesystem phân cấp trong Linux
Tất cK tập tin/thư mục tVn tại dưới thư mục gốc “/” • Các hệ thống tập tin như ổ đĩa di động, máy chủ từ xa, đĩa cục bộ sẽ xuất hiện phân cấp và bên dưới hệ hệ
Trang 11thống thư mục gốc (root)
Quyền và các tập tin trong linux
1 Quyền và thuộc tính files
• Tập tin có thể: đọc (read), ghi (write), thực thi (exec)
• Quyền sở hữu tập tin, thư mục dựa vào UID (user id) GID (group id)
• Thuộc tính có thể quan tâm khi điều tra gVm:
▪ (A): không cập nhật
▪ (a): chx thêm
▪ (i): bất biến
▪ (j): dữ liệu nhật ký được kích hoạt
• Khi thực hiện các công cụ pháp chứng phKi đKm bKo không làm Knh hưởng đến giá trị của thuộc tính
2 Tập tin ẩn (Hidden files)
Trên hệ thống Linux, các tập tin ẩn được sT dụng bằng cách thêm vào đầu tên của tập tin bằng một dấu chấm “.”
Trang 12Những tập tin mặc định sẽ không được hiển thị trong hầu hết các ứng dụng đV họa và tiện ích dòng lệnh
Các tập tin ẩn và thư mục ẩn là cách rất thô sơ để che giấu dữ liệu và không được sT dụng công khai
3 Thư mục /tmp (temp)
• /tmp được gọi là “bãi rác Ko” của hệ thống Linux
• Nó thường được d_ng cho các tập tin tạm thời của một user cụ thể
• Tất cK người d_ng có thể ghi dữ liệu ở thư mục này
=> Là tiền đề cho kẻ tấn công đặt dữ liệu vào hệ thống trong khi hầu hết người d_ng không bao giờ kiểm tra sự tVn tại các tập tin xấu trong thư mục này
4 Tập tin /etc/passwd
• Một dòng điển hình trong file :
“/etc/passwd”:forensics:x:500:500::/home/forensics:/bin/bash
▪ Username : forensics
▪ Hash password : x
▪ Id của người d_ng : 500
▪ Id group của người d_ng : 500
▪ Tên đầy đủ của người sT dụng : (để trống)
▪ Đường dẫn chính của thư mục người d_ng: /home/forensics
Chương trình chạy lúc đăng nhập ban đầu (thường là shell mặc định
của người d_ng) : /bin/bash
5 Tập tin /etc/shadow
Hash password của các tài khoKn người d_ng thường được lưu trữ trong file “/etc/shadow” để giới hạn phạm vi tấn công cục bộ
Thư mục Home và Log files
• Trên môi trường GNOME, các thư mục mặc định của người d_ng là : Desktop, Documents, Downloads, Music, Pictures, Public, Templates, Video
Trang 13• Ngoài ra: Thư mục ssh chứa các tập tin liên quan tới việc sT dụng Secure Shell (ssh) của người d_ng
• Khi người d_ng kết nối ssh với một máy chủ từ xa bằng tên máy hoặc địa chx
IP và khóa công khai thì được ghi nhận vào file ssh/known_hosts
Thư mục Home
Bao gồm :
• Desktop
• Documents
• Downloads
• Music
• Pictures
• Public
• Templates
• Videos
Ngoài các thư mục “user-accessible” còn có các tập tin và các thư mục
ẩn Một số có thể chứa dữ liệu pháp lý (được tự động tạo ra hoặc là do hành động của người d_ng)
Khi một tài khoKn người d_ng bị xóa khỏi hệ thống Unix, các thư mục, tập tin lưu vết có thể còn sót lại Khi đó tìm kiếm trong các thư mục bổ sung trong thư mục “/home” có thể còn chứa dữ liệu người d_ng cũ
• Thư mục ẩn “.gconf” chứa các tập tin cấu hình ứng dụng GNOME khác nhau theo cấu trúc thư mục
Trang 14• Điển hình là thư mục “.gconf/apps/nautilus/desktopmetadata/,” chứa các thư mục con cho bất kỳ phương triện truyền thông nào xT lý bởi GNOME qua các tập tin “%gconf.xml”
Bản ghi (Log Files)
• Được lưu trữ tại thư mục: “/var/log”
• Thường được lưu trữ trong văn bKn rW ràng, với 1 dòng cho mỗi sự kiện
• Bao gVm 2 kiểu chính:
+ Các bKn ghi được tạo ra bởi người sT dụng hoặc do các hoạt động theo dWi
+ Các bKn ghi được tạo ra bởi hoạt động hệ thống
• Thông tin phân tích đăng nhập của người d_ng trên hệ thống Linux được lưu trữ trong 3 tập tin chính:
+ “/var/run/utmp,”
+ “/var/log/wtmp,”
+ “/var/log/lastlog ”
• Ngoài ra còn có Syslog, hoạt động trên mô hình clientserver, cho phép sự kiện được ghi lại để điều khiển từ xa
• Syslog được truyền qua giao thức UDP (các nguVn tin không được xác thực
và không tin cậy), có thể giúp cho kẻ tấn công giK mạo tin nhắn từ xa vào Syslog/var/run/wtmp
Cơ chế lập lịch (Scheduling Tasks)
Hệ thống Linux có 2 cơ chế chính để lên lịch cho một công việc thực thi trong tương lai:
• Tại một thời điểm:
Chạy nhiệm vụ 1 lần, tại 1 thời điểm cụ thể trong tương lai
• Định kỳ:
Thực hiện lặp đi lặp lại quy trình theo chu kỳ (hàng giờ, ngày, tháng,…)
Trang 15• Bất kỳ hoạt động dự kiến nào được người d_ng chọn sẽ được tìm thấy trong
“/var/spool/cron,” Và có thể xem các tiến trình định kỳ qua các thư mục
tương ứng như:
“/etc/cron.daily,”
“/etc/cron.weeskly,”
“/etc/cron.monthly ”
• Có thể nói đây cũng là đích nhắm của nhiều kẻ tấn công vì có thể lợi dụng cơ chế này để tấn công, duy trì hoạt động của hệ thống sau khi đã bị xâm nhập