Chương 2 : Phân tích hệ điều hành MacOS: ở phần này phân tích, làm rõ cấu trúc hệ thống, nơi lưu trữ tệp và thư mục, quản lý người dùng, nhật ký, ứngdụng… Chương 3: Triển khai thực nghiệ
Trang 1BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
*************
BÁO CÁO BÀI TẬP LỚN
MÔN: PHÒNG CHỐNG VÀ ĐIỀU TRA TỘI PHẠM MẠNG MÁY TÍNH
ĐỀ TÀI: PHÂN TÍCH HỆ ĐIỀU HÀNH MACINTOSH
HÀ NỘI, 2021
Trang 2MỤC LỤC
MỤC LỤC ii
DANH MỤC HÌNH VẼ v
DANH MỤ̣C BẢNG BIỂU vii
DANH MỤ̣C CÁC TỪ VIẾT TẮT viii
LỜI NÓI ĐẦU 1
CHƯƠNG 1 TỔNG QUAN VỀ HỆ ĐIỀU HÀNH MACOS 2
1.1 Giới thiệu hệ điều hành MacOS 2
1.2 Lịch sử hình thành và phát triển 2
1.2.1 Mac OS X 3
1.2.2 MacOS 4
1.2.3 Các phiên bản hệ điều hành 4
1.3 Đặc điểm nổi bật của MacOS 7
1.4 So sánh hệ điều hành MacOS và hệ điều hành Windows 8
1.5 Những thiết bị chạy hệ điều hành macOS 9
1.6 Tổng kết chương 1 10
CHƯƠNG 2 PHÂN TÍCH HỆ ĐIỀU HÀNH MACOS 11
2.1 Kiến trúc hệ điều hành MacOS 11
2.1.1 Nhân hệ điều hành Darwin 11
2.1.2 Hệ thống đồ họa 12
2.1.3 Lớp ứng dụng 12
2.1.4 Giao diện người dùng 13
2.2 Cấu trúc hệ thống tệp tin MacOS 13
2.3 Danh sách thuộc tính 16
2.4 Tài khoản người dùng 17
Trang 32.5 Mật khẩu người dùng 23
2.6 Các thư mục trong hệ điều hành MacOS 27
2.6.1 Cấu trúc thư mục trong MacOS 27
2.6.2 Các thư mục lồng nhau trong MacOS 28
2.6.3 Thư mục máy tính 29
2.6.4 Thư mục ứng dụng 29
2.6.5 Các thư mục thư viện 29
2.6.6 Thư mục hệ thống 30
2.6.7 Thư mục trang chủ 31
2.7 Hệ thống 31
2.7.1 Mật khẩu mã hóa 31
2.7.2 Thiết lập mạng 32
2.7.3 Nhật ký 33
2.7.4 Hành động đăng nhập 36
2.7.5 Tệp cài đặt chương trình và các khung xử lý khác 38
2.8 Tổng kết chương 2 40
CHƯƠNG 3 TRIỂN KHAI THỰC NGHIỆM 41
3.1 Tóm tắt nội dung 41
3.2 Chuẩn bị 41
3.3 Thực hiện 41
3.3.1 Kiểm tra địa chỉ IP Error! Bookmark not defined. 3.3.2 Kích hoạt cho phép truy cập từ xa 43
3.3.3 Thực hiện truy cập SSH 44
Trang 43.3.4 Xem thông tin nhật ký 45
3.3.5 Xem thông tin thông qua Terminal 47
3.4 Kết luận chương 3 57
KẾT LUẬN 58
TÀI LIỆU THAM KHẢO 59
PHỤ̣ LỤ̣C 60
Trang 5DANH MỤC HÌNH VẼ
Hình 1.1 Hệ điều hành macOS Sierra 2
Hình 1.2 Hệ điều hành Mac OS X 4
Hình 2.1 Kiến trúc hệ điều hành macOS 11
Hình 2.2 Data fork and Resource fork 15
Hình 2.3 Danh sách property lists 17
Hình 2.4 Giao diện tạo mới tài khoản người dùng thông thường 18
Hình 2.5 Giao diện tạo tài khoản root 19
Hình 2.6 File user1.plist trong macOS 10.12 22
Hình 2.7 Sử dụng tài khoản root xem được các file bị ẩn 22
Hình 2.8 Minh họa John the Ripper về mã hóa mật khẩu thông qua hàm băm 24
Hình 2.9 Sử dụng John the Ripper bẻ khóa pass một file 24
Hình 2.10 Quyền đối với các thư mục của user 26
Hình 2.11 Các quyền cơ bản trong Mac 26
Hình 2.12 Chế độ xem trực quan các thư mục chính trên máy mac 27
Hình 2.13 Thư mục lồng nhau, đi sâu vào bốn cấp độ 28
Hình 2.14 Các mục có trong thư mục người dùng 30
Hình 2.15 File system.keychain được mở bằng Keychain Access 31
Hình 2.16 File preferences.plist trên macOS 10.12 32
Hình 2.17 Truy cập ứng dụng Console trên macOS 10.12 33
Hình 2.18 Giao diện Console trên macOS 10.12 34
Hình 2.19 Install.log trên macOS 10.12 35
Hình 2.20 Xem log thông qua truy cập ổ đĩa trên macOS 10.12 36
Hình 2.21 Lịch sử đăng nhập trên macOS 10.12 37
Hình 2.22 Lịch sử đăng nhập trên macOS 10.12 tại file asl 38
Hình 2.23 Những khung xử lý trên macOS 10.12 40
Hình 3.1 Địa chỉ IP của máy macOS 41
Hình 3.2 Địa chỉ IP của máy truy cập SSH 42
Hình 3.3 Kích hoạt cho phép truy cập từ xa trên macOS 43
Hình 3.4 Nhập thông tin trên PuTTY 44
Hình 3.5 Nhập thông tin đăng nhập và mật khẩu 45
Trang 6Hình 3.6 Dữ liệu trong file BB.2022.11.30.G80.asl 46
Hình 3.7 Thông tin được terminal đưa ra khi sử dụng lệnh “last” 47
Hình 3.8 Lần đăng nhập trước của user1 48
Hình 3.9 Một số thông tin khác 49
Trang 7DANH MỤ̣C BẢNG BIỂU
Trang 8DANH MỤ̣C CÁC TỪ VIẾT TẮT
Trang 9LỜI NÓI ĐẦU
Trong thời đại 4.0 hiện nay, kèm theo sự bùng nổ của công nghệ số, thìcác thiết bị điện tử - nhất là máy vi tính, đã trở thành một phần không thể thiếuđối với cuộc sống của con người Các công ty công nghệ lớn chạy đua nhau để rađời những dòng máy mới về các lĩnh vực gaming, office hay workstation…Trong đó có một tập đoàn rất đặc biệt, đó là Apple Họ tự thiết kế cho dòng máycủa mình một hệ điều hành riêng biệt mà chỉ dòng máy có họ có thể sử dụng
Chính vì lẽ đó, nhóm chúng em đã lựa chọn “Phân tích hệ điều hànhMacintosh” làm đề tài nghiên cứu Hệ điều hành được nhóm chúng em sử dụngtrong báo cáo này là macOS 10.12 Sierra 2016
Báo cáo được trình bày trong 3 chương:
Chương 1: Tổng quan hệ điều hành MacOS: ở phần này chúng em sẽ
trình bày tổng quan về hệ điều hành MacOS bao gồm khái niệm, lịch sử hìnhthành và phát triển, đặc điểm nổi bật để từ đó đưa ra so sánh với hệ điều hànhWindows
Chương 2 : Phân tích hệ điều hành MacOS: ở phần này phân tích, làm rõ
cấu trúc hệ thống, nơi lưu trữ tệp và thư mục, quản lý người dùng, nhật ký, ứngdụng…
Chương 3: Triển khai thực nghiệm: ở phần này triển khai trên hệ điều
hành macOS 10.12 Sierra 2016
Sau thời gian vài tuần thực hiện, các nội dung đã hoàn thành Tuy nhiên
do thời gian thực hiện báo cáo có hạn và kiến thức còn hạn chế nên chắc chắnkhông tránh khỏi thiếu sót Nhóm chúng em rất mong được sự góp ý của thầy vàcác bạn để báo cáo hoàn thiện hơn
Chúng em xin chân thành cảm ơn
Trang 10CHƯƠNG 1 TỔNG QUAN VỀ HỆ ĐIỀU HÀNH MACOS
1.1 Giới thiệu hệ điều hành MacOS
MacOS (Mac Operating System) là hệ điều hành độc quyền được pháttriển và phân phối bởi Apple dành cho các máy tính Macintosh Hệ điều hànhmacOS được biết đến như một nền tảng hệ điều hành mượt mà, tối ưu cùng giaodiện đẹp mắt Tuy không được phổ biến như Windows nhưng nền tảng này sởhữu sự ổn định, tính bảo mật cao và là một hệ điều hành lý tưởng cho ngườidùng
Hình 1.1 Hệ điều hành macOS Sierra 1.2 Lịch sử hình thành và phát triển
Đã 20 năm trôi qua kể từ ngày Apple giới thiệu phiên bản thử nghiệm đầutiên dành cho hệ điều hành Mac OS X, một trong những cứu cánh của Appletrong suốt thời kỳ hãng gặp khủng hoảng Mac OS X đã hoàn toàn “ngoảnh mặt”với những thế hệ cũ để tạo nên một hệ điều hành hoàn toàn mới tốt hơn
Trang 111.1.1 Mac OS X
OS X được dựa trên hạt nhân Mach Các bộ phận nhất định của FreeBSD
và thực hiện NetBSD của Unix đã được kết hợp trong NeXTSTEP, cốt lõi củaMac OS X NeXTSTEP là các đồ họa, đối tượng - định hướng, và dựa trênUNIX - hệ điều hành hệ thống được phát triển bởi công ty của Steve Jobs NeXTsau khi ông rời Apple vào năm 1985 Trong khi Jobs rời khỏi Apple, Apple đã cốgắng để tạo ra một ‘thế hệ tiếp theo” hệ điều hành thông qua Taligent, Copland
và Gershwin, với rất ít thành công
Cuối cùng, NeXT OS, sau đó được gọi là OPENSTEP, đã được lựa chọn
là cơ sở tiếp theo của Apple OS, và của Apple mua NeXT hoàn toàn Steve Jobstrở lại Apple như giám đốc điều hành tạm thời, và sau đó trở thành giám đốcđiều hành, chăn dắt các chuyển đổi của các lập trình - OPENSTEP thân thiệnthành một hệ thống có thể được thông qua bởi thị trường sơ cấp của người dùnggia đình và các chuyên gia sáng tạo của Apple Dự án lần đầu tiên được biết đếnnhư Rhapsody và sau đó được đổi tên thành Mac OS X
MacOS X Server 1.x, không tương thích với các phần mềm thiết kế cho hệđiều hành MacOS và không có hỗ trợ cho Apple IEEE giao diện (FireWire)
1394 Mac OS X 10.x bao gồm khả năng tương thích ngược thông qua chứcnăng cổ điển và nhiều hơn nữa bằng cách giới thiệu các API Carbon cũng như hỗtrợ FireWire Như hệ điều hành được phát triển, nó di chuyển từ hệ điều hànhMac cổ điển để nhấn mạnh một “phong cách kỹ thuật số” với các ứng dụng như
bộ phần mềm iLife, iWork, FrontRow
Trong năm 2012, với việc phát hành OS X Lion, tiền tố “Mác” đã chínhthức được giảm trong tất cả các tài liệu tham khảo với tên hệ điều hành trong cáctài liệu tiếp thị và với OS X Mountain Lion “Mac” đã bị bỏ trong tất cả các tàiliệu tham khảo trong hệ điều hành riêng của mình Tuy nhiên, các trang web vàcác tài liệu tiếp thị khác của Apple vẫn tiếp tục sử dụng cả hai “Mac OS X” và
“OS X”
Trang 12Hình 1.2 Hệ điều hành Mac OS X
1.1.2 MacOS
Năm 2016, cùng với việc phát hành macOS 10.12 Sierra, tên hệ điều hành
đã được đổi từ OS X thành macOS để hợp lý hóa nó với thương hiệu của các hệđiều hành chính khác của Apple: iOS, watchOS và tvOS Các tính năng chínhcủa macOS 10.12 Sierra là việc giới thiệu Siri cho macOS, lưu trữ được tối ưuhóa, cải tiến các ứng dụng đi kèm và tích hợp nhiều hơn với iPhone và AppleWatch của Apple
1.1.3 Các phiên bản hệ điều hành
Với những ưu điểm cũng như nhược điểm trên thì nhiều người vẫn muốnchọn nó làm hệ điều hành ưa thích của mình Trên thực tế, Apple có rất nhiềuphiên bản macOS Tuy nhiên, người dùng chỉ quen thuộc với các phiên bản mớiđây mà thôi Vậy các phiên bản macOS này là gì?
Những phiên bản macOS cũ
Trang 13Trước khi có tên là macOS thì hệ điều hành này có tên là Mac OS X.Trong giai đoạn này, Apple đã phát hành 11 phiên bản chính, ngoài ra còn một
OS X 10.8: Mountain Lion - 7/2012
OS X 10.9: Mavericks - 10/2013
OS X 10.10: Yosemite - 10/2014
OS X 10.11: El Capitan - 9/2015
Các phiên bản macOS hiện nay
Từ năm 2016, Apple đã đổi tên hệ điều hành của mình từ Mac OS X sangmacOS Điều này là để nó đi thích hợp với các hệ điều hành chính khác củaApple: iOS, watchOS và tvOS Đi kèm với đó, hãng "táo khuyết" cũng đã cho rađời thêm các phiên bản mới Đến nay, chúng đã trở thành những phiên bảnmacOS được sử dụng rộng rãi
MacOS 10.12: Sierra - 9/2016
Trang 14Từ hệ điều hành này, có sự ra đời của Siri, tích hợp nhiều hơn các ứngdụng đi kèm và tích hợp nhiều hơn với iPhone và Apple Watch của Apple Cáctính năng đồng bộ hóa có thể sử dụng trên macOS này nếu bạn đang sở hữu mộtthiết bị khác của Apple Nếu bạn đang đeo một chiếc Apple Watch hoặc dùngiPhone được kết nối bluetooth với máy Mac, nó sẽ tự động mở khóa mỗi khi bạn
sử dụng mà không cần nhập password
MacOS 10.13: High Sierra - 9/2017
Các phiên bản macOS mới luôn đem đến sự thay đổi và cải tiến rõ rệt Vớiphiên bản này là chế độ chặn tự động mở nhạc và video trên trang web Bên cạnh
đó, trình duyệt cũng cho tốc độ duyệt web nhanh hơn tới 80% khi xử lýJavaScript so với Google Chrome, hay được tích hợp trí tuệ nhân tạo để chặnmột số website theo dõi người dùng
Phần mềm ảnh cũng được tối ưu lại Nếu sử dụng tính năng nhận diệnkhuôn mặt để gom nhóm ảnh trên máy Mac, nó cũng sẽ được đồng bộ với cácthiết bị Apple khác như iPhone hay iPad Việc sửa ảnh cũng dễ dàng, khi Apple
bổ sung khá nhiều công cụ mới chuyên nghiệp hơn
High Sierra đánh dấu bước thay đổi lớn của hệ điều hành macOS Điểmthay đổi lớn nhất trên phiên bản macOS này là Apple đã thay đổi định dạng ổcứng trên những máy Mac sử dụng ổ cứng SSD Cụ thể là từ HFS+ sang APFS
MacOS 10.14: Mojave - 9/2018
Sự thay đổi mới nhất trong phiên bản này chính là tính năng Dark Mode.Bên cạnh đó, App Store cũng được thiết kế lại hoàn toàn Phiên bản mới này cónhiều điểm tương đồng với App Store trên iOS Ví dụ như các banner ứng dụnglớn hơn, bộ sưu tập ứng dụng, danh sách ứng dụng gợi ý từ Apple, tổng hợp ứngdụng theo chủ đề, tính năng
Ngoài ra, một tính năng mới ở phiên bản này là Desktop Stacks giúp dọndẹp màn hình nền lộn xộn của người dùng Thực ra, tính năng này chỉ nhóm các
Trang 15tệp có cùng định dạng thành những thư mục riêng Nhưng như vậy cũng đủ làm desktop trông gọn gàng hơn.
MacOS 10.15: Catalina -10/2019
Phiên bản macOS này của Apple có nhiều thay đổi và nâng cấp Có thể kểđến như: iTunes được tách thành nhiều sản phẩm khác nhau là TV, Podcast vàMusic Một số ứng dụng được bổ sung nhiều tùy chọn mới Có thêm ứng dụngFind My để kiểm soát vị trí các thiết bị di động trong hệ sinh thái Apple
MacOS 11: Big Sur - 2020
Là phiên bản chính tiếp theo của macOS, MacOS Big Sur thiết kế lại giaodiện người dùng, hỗ trợ cho các ứng dụng iOS và iPad đối với máy Mac chạychip Apple Silicon (như chip M1) và được thiết kế để tận dụng lợi thế của bộ xử
lý ARM trong máy Mac chạy chip Apple Silicon
MacOS 12: Monterey -2021
Đây là bản macOS có lẽ là tối ưu nhất cho máy Mac sử dụng chip AppleSilicon và có nhiều tính năng mới hấp dẫn, cho trải nghiệm sử dụng nền tảngmacOS được tốt hơn
1.3 Đặc điểm nổi bật của MacOS
Một số đặc điểm nổi bật của hệ điều hành MacOS như sau:
Giao diện đẹp mắt
Bởi vì là nhà sản xuất thiết bị điện tử lớn trên toàn cầu, thế nên Apple rấtchăm chút trong thiết kế của giao diện mình Có thể nói, giao diện của nó là mộttrong những giao diện máy tính có độ thẩm mỹ cao, và có thể tạo cảm hứng làmviệc cho người dùng mỗi khi bật máy lên
Hoạt động mượt mà
Apple có khả năng kiểm soát được cả phần mềm và phần cứng mà họ sẽđưa vào thiết bị của mình, thế nên hãng sản xuất này có thể dễ dàng tối ưu 2thành phần này có trên máy Ngoài ra, Apple cũng có thể nhanh chóng nhận
Trang 16được phản hồi về lỗi có trên phần mềm, từ đó có thể tung ra các bản cập nhật mới khắc phục chỉ trong vài tuần.
Dễ dàng sử dụng
Nếu người dùng chỉ mới sắm những thiết bị Mac, và chỉ mới bắt đầu sửdụng macOS, thì chỉ cần một thời gian ngắn là có thể thích nghi được các thaotác có trên máy, và thao tác một cách nhuần nhuyễn
Kho ứng dụng đồ sộ
App Store có trên macOS có số lượng rất đồ sộ, và người sử dụng có thể
dễ dàng tải chúng về bất cứ khi nào Và với sự hỗ trợ kiến trúc ARM trên macOSgần đầy, Apple hứa hẹn trong thời gian tới số lượng ứng dụng được các nhà lậptrình viên chuyển từ iOS/iPad sang macOS sẽ ngày một tăng
Số lượng virus ít
Nếu so sánh với Windows thì macOS có thị phần thấp hơn nhiều trongmảng máy tính, vậy nên đây không phải là mảnh đất màu mỡ để các tin tặc pháttriển virus hay là các mã độc Ngoài ra, nhờ tính bảo mật cao của macOS, thiết bịcũng hạn chế được sự xâm nhập của virus có trên không gian mạng
Nằm trong hệ sinh thái của Apple
Bởi vì các thiết bị Mac nằm trong hệ sinh thái của Apple, vậy nên các thiết
bị này sẽ có tính liên kết và khả năng đồng bộ nhanh, từ đó hỗ trợ công việc củangười dùng Chẳng hạn, một số tính năng mà người dùng có thể sử dụng như làAirDrop, Handoff hay là tính năng đồng bộ iCloud giữa các thiết bị
1.4 So sánh hệ điều hành MacOS và hệ điều hành Windows
Ưu điểm của hệ điều hành macOS
So với hệ điều hành Windows, macOS có những ưu điểm sau:
Sự ổn định: đây là hệ điều hành được đánh giá là một nền tảng ổn định, Machoạt động một cách mượt mà hơn
Trang 17Đồng bộ hóa giữa các thiết bị của Apple: Hệ điều hành macOS có khả năng kết nối và chia sẻ dễ dàng với các sản phẩm khác của Apple như iPhone, iPad, MacBook, …
Lưu tệp qua iCloud: Các ứng dụng, dữ liệu được sao lưu trên iCloud luôn cập nhật Cho nên, người dùng có thể truy cập vào các tệp ở bất kỳ đâu, ngay cả trên một thiết bị Apple khác
Khả năng bảo mật: So với Windows thì macOS có tính bảo mật cao hơn Mọi thứ được người dùng làm trong máy đều được bảo vệ bằng các tính năng bảo mật và quyền riêng tư tích hợp Ngoài ra, người dùng cũng không cần phải lo lắng khi không biết ứng dụng nào đó có an toàn hay không bởi Apple đã phát minh ra Gatekeeper – Gatekeeper xác định ứng dụng nào có thể cài đặt trên máy Mac
Tiện dụng: Giao diện của macOS khá đơn giản và được sắp xếp rất logic nênngười dùng rất nhanh làm quen và sử dụng được hệ điều hành
Nhược điểm của hệ điều hành macOS
So với hệ điều hành Windows, macOS có những nhược điểm sau:
Kho ứng dụng còn hạn chế: Do thị phần người dùng macOS còn ít nên số lượng ứng dụng tương thích và sử dụng trên macOS ít rất nhiều so với Windows hoặc sẽ phải chờ một khoảng thời gian để những nhà phát triển ứng dụng cung cấp thêm khả năng tương thích với macOS
Kho game ít: Cũng như với ứng dụng, kho game của macOS không phong phú bằng Windows
1.5 Những thiết bị chạy hệ điều hành macOS
MacBook
MacBook là dòng sản phẩm laptop được nhiều người dùng biết đến với thiết kế sang trọng, cùng với khả năng hoạt động mượt mà
Trang 18Hiện nay, các thiết bị MacBook được chia thành hai dòng đó là MacBook Air và MacBook Pro, với nhiều kích thước màn hình khác nhau.
Mac mini
Mac mini là thiết bị máy tính bàn, có thiết kế nhỏ, thu gọn trong một hìnhhộp vuông bằng kim loại Tuy nhiên, để sử dụng được thiết bị này, bạn cần phảitrang bị thêm màn hình rời, bàn phím và chuột bởi vì Apple sẽ không tặng kèmkhi bán
iMac
iMac là dòng sản phẩm PC All-in-one của Apple, với nhiều phiên bản kíchthước màn hình cho người dùng Và trong năm 2021 này thì với sự ra mắt củaiMac 24 inch M1 thì Apple đã mang hơi hướng thiết kế trẻ trung trong sản phẩmcủa mình với 7 phiên bản màu mới
Mac Pro
Mac Pro là dòng sản phẩm máy tính để bàn cao cấp nhất của Apple, vớithiết kế lớn đi cùng với sức mạnh cực kỳ khủng Một số người thường gọi MacPro là máy trạm
Đây là dòng thiết bị nhắm đến nhóm nhỏ những người dùng chuyênnghiệp, cần sử dụng các tác vụ siêu nặng trên máy Do đó, đây cũng là dòng sảnphẩm chạy macOS đắt đỏ nhất của Apple
1.6 Tổng kết chương 1
Trong chương này, báo cáo đã giới thiệu hệ điều hành macintosh,lịch sửhình thành, chỉ ra các phiên bản của hệ điều hành Giới thiệu những đặc điểm nổibật của hệ điều hành này như giao diện đẹp mắt, hoạt động mượt mà, dễ dàng sửdụng, thân thiện với người dùng và số lượng virus ít Từ đó, đưa ra các so sánh
ưu nhược điểm giữa hai hệ điều hành Macintosh và Windows Chương 2 sẽ tìmhiểu cũng như phân tích rõ hơn về hệ điều hành Macintosh
Trang 19CHƯƠNG 2 PHÂN TÍCH HỆ ĐIỀU HÀNH MACOS
2.1 Kiến trúc hệ điều hành MacOS
Kiến trúc của macOS bao gồm một số lớp thường được thể hiện dưới dạng
đồ họa như trong hình 2.1:
Hình 2.3 Kiến trúc hệ điều hành macOS
Cấp cơ sở của hệ điều hành là nhân Unix, được gọi là Darwin Di chuyểnlên qua các lớp, lớp tiếp theo là hệ thống đồ họa con bao gồm ba phần: Quartz,OpenGL và QuickTime Sau đó, đến lớp ứng dụng có bốn thành phần, đó làClassic, Carbon, Cocoa và Java Cuối cùng, lớp trên cùng là giao diện ngườidùng, được gọi là Aqua
1.1.4 Nhân hệ điều hành Darwin
Dựa trên phiên bản Berkeley Software Distribution (BSD) của Unix Tráitim của nhân được gọi là “Mạch” Phần này của hệ điều hành thực hiện các tác
vụ cơ bản, chẳng hạn như luồng dữ liệu vào và ra từ CPU, sử dụng bộ nhớ,v v.Các tính năng của Mach:
Cung cấp một vùng bộ nhớ riêng biệt mà mỗi ứng dụng có thể chạy Nó đảm
Trang 20không ảnh hưởng đến ứng dụng khác Do đó, nếu một ứng dụng đang chạy
bị treo, các ứng dụng khác không bị ảnh hưởng
Nó sử dụng hệ thống bộ nhớ ảo luôn bật, vì thế nó quản lý việc sử dụng bộ nhớ ảo một cách hiệu quả để bộ nhớ ảo chỉ được sử dụng khi cần thiết đảm bảo hiệu suất tối đa
1.1.5 Hệ thống đồ họa
Bao gồm ba thành phần chính: Quartz Extreme, OpenGL và QuickTime Quartz Extreme là tên hệ thống con xử lý đồ họa 2D cung cấp giao diện đồhọa, phông chữ và các yếu tố 2D khác của hệ thống
Thành phần OpenGL của hệ thống đồ họa con cung cấp hỗ trợ đồ họa 3Dcho các ứng dụng 3D Do đó, việc tạo các ứng dụng 3D cho Mac từ những ứngdụng được thiết kế để chạy trên các hệ điều hành khác sẽ dễ dàng hơn
QuickTime cung cấp hỗ trợ cho nhiều loại phương tiện kỹ thuật số, chẳnghạn như video kỹ thuật số và là trình hỗ trợ chính cho việc phát trực tuyến video
và âm thanh trong macOS QuickTime cho phép xem cả các ứng dụng, chẳnghạn như QuickTime Player và các ứng dụng sáng tạo, chẳng hạn như iMovie,iTunes, và nhiều hơn nữa QuickTime cũng là một tiêu chuẩn công nghiệp và cáctệp QuickTime có thể được sử dụng trên Windows và các nền tảng máy tínhkhác
1.1.6 Lớp ứng dụng
Cung cấp bốn môi trường phát triển ứng dụng: Basic, Carbon, Cocoa vàJava
Môi trường Carbon cho phép các nhà phát triển chuyển các ứng dụng hiện
có sang sử dụng các giao diện chương trình ứng dụng Carbon (API) Môi trườngCarbon cung cấp các lợi ích của Darwin cho các ứng dụng được Carbon hóa,chẳng hạn như bộ nhớ được bảo vệ
Môi trường Cocoa cung cấp cho các nhà phát triển một môi trường pháttriển ứng dụng hướng đối tượng, hiện đại
Trang 21Môi trường Java cho phép người dùng chạy các ứng dụng Java, bao gồmcác ứng dụng Java thuần túy và các ứng dụng Java nâng cao Các ứng dụng Javađược sử dụng rộng rãi trên Web vì chúng cho phép thực thi cùng một bộ mã trênnhiều nền tảng khác nhau.
1.1.7 Giao diện người dùng
Giao diện người dùng của macOS được gọi là Aqua, cung cấp trải nghiệmhình ảnh tuyệt vời cũng như các công cụ để người dùng có thể tương tác và tùychỉnh giao diện cho phù hợp theo sở thích
2.2 Cấu trúc hệ thống tệp tin MacOS
Hệ thống tệp tin Macintosh là hệ thống tệp tin phân cấp Hierarchical File System) Đây là một hệ thống tệp độc quyền được phát triển
(HFS-bởi Apple Inc để sử dụng trong các hệ thống máy tính chạy hệ điều hành macOS.Chức năng chính của nó để lưu trữ các tệp, bao gồm các thư mục cha và thư mụccon được lồng ghép với nhau
HFS đã thay thế cấu trúc bảng bằng tệp danh mục sử dụng B-tree có thểđược tìm kiếm rất nhanh bất kể kích thước lớn hay nhỏ Nó cũng thiết kế lại cáccấu trúc khác nhau để có thể chứa số lượng lớn hơn, các số nguyên 16 bit đượcthay thế hầu hết bằng 32 bit Hệ thống tệp phân cấp nhóm các khối logic 512byte thành các khối cấp phát, có thể chứa một hoặc nhiều khối logic, tùy thuộcvào tổng kích thước của ổ đĩa
Hệ thống tệp HFS bao gồm các thông tin về dấu thời gian:
Ngày tạo: khi tệp được tạo Sao chép tệp từ một HFS tập khác thường giữ nguyên ngày tạo
Ngày sửa đổi: khi nội dung của tệp được thay đổi lần cuối
Ngày sửa đổi thuộc tính: khi các thuộc tính được liên kết với tệp đã được thay đổi lần cuối Thay đổi này có thể được cập nhật mà không làm thay đổi bất kỳ dữ liệu nào của tệp
Trang 22Ngày truy cập: khi tệp được truy cập lần cuối.
Ngày sao lưu
Hệ thống tệp phân cấp được cấu tạo bởi năm thành phần:
Khối logic 0 và 1 được gọi là boot blocks, chứa thông tin khởi động hệ thống Ví dụ được kể đến như: tên các tệp tin hệ thống và trình tìm kiếm được tải lên khi khởi động
Khối logic 2 được gọi là Master Directory Block (khối thư mục chính) Bao gồm các dữ liệu liên quan thư mục: thời gian ngày và giờ tạo thư mục, vị trí của của các cấu trúc thư mục khác, hoặc kích thước của các cấu trúc logic MDB cũng có một bản sao được gọi là MDB thay thế (khối thư mục chính thay thế)
Khối logic 3 là khối khởi động được gọi là Volume Bitmap, khối này theo dõi các khối phân bổ (Allocation Block) nào đang được sử dụng và các khối đang rảnh Mỗi khối phân bổ được biểu diễn bằng một bit khi khối đó đang được sử dụng và ngược lại Vì Volume Bitmap phải được biểu diễn cho một khối phân bổ, kích thước của nó được xác định bằng chính kích thước của khối
Extent Overflow File: là một cấu trúc cây chứa phạm vi bổ sung, ghi lại thông tin khối phân bổ được phân bổ cho từng tệp
Các tệp danh mục là một cấu trúc cây chứa thông tin của tất cả các tệp tin vàthư mục được lưu trữ trong ổ đĩa Nó lưu trữ bốn loại bản ghi Mỗi tệp tinbao gồm một bản ghi File Thread lưu trữ tên của tệp và CID của thư mụccha và một bản ghi File lưu trữ các loại siêu dữ liệu về file bao gồm CID của
nó kích thước của tệp, ba dấu thời gian khi tệp được tạo, sửa đổi lần cuối vàsao lưu lần cuối Trong khi đó, mỗi thư mục bao gồm một bản ghi DirectoryThread lưu trữ tên của thư mục và CID của thư mục cha và một bản ghiDirectory lưu trữ dữ liệu như số lượng tệp được lưu trữ trong thư mục, CID
Trang 23của thư mục, ba dấu thời gian khi thư mục được tạo, sửa đổi lần cuối, saolưu lần cuối Hai bản ghi File và Directory đều lưu trữ 2 trường 16 byte đểFinder (hoạt động với hệ điều hành Macintosh để theo dõi các tệp và duy trìmàn hình nền của người dùng) sử dụng Các tệp và thư mục trong danh mụcđược định danh bằng ID duy nhất gọi là CID.
Trong hệ thống tệp Macintosh (được gọi là HFS, dành cho hệ thống tệpphân cấp), các tệp không phải là nguyên khối và không bao gồm một phân đoạnduy nhất Chúng bao gồm hai phần được gọi là fork, tức là một data fork và mộtresource fork
Hình 2.4 Data fork and Resource fork Data fork: chứa các tệp trên máy tính như văn bản được tạo bởi quá trình
xử lý văn bản, các pixel tạo nên nên hình ảnh
Resource Fork: ban đầu, được hình thành và thực hiện bởi lập trình viên
Bruce Horm Sự hiện diện của resource fork giúp việc lưu trữ trở nên dễ dàng,chẳng hạn như cho phép hệ thống hiển thị đúng biểu tượng cho một tệp và mởtệp mà không cần đến phần mở rộng tệp trong tên tệp Quyền truy cập vàoresource fork hoạt động giống như truy cập tệp trên bất kỳ hệ điều hành nào khácchọn tệp, đọc một số dữ liệu trong tệp Đôi khi, nó được sử dụng để lưu trữ siêu
dữ liệu của tệp
Trang 24Resource fork được sử dụng cho hai mục đính chính với hệ thống tệp
2.3 Danh sách thuộc tính
Trước khi đi sâu hơn vào phân tích chi tiết của hệ thống Macintosh, điềuquan trọng là phải hiểu rõ về danh sách thuộc tính Danh sách thuộc tính, cònđược gọi là tệp plist, là nguồn thông tin lớn nhất cho các cài đặt và cấu hình trênMac OS Danh sách thuộc tính thường là các tệp văn bản đơn giản được địnhdạng bằng XML để có thể đọc được trên hệ thống Thường thì chúng sẽ chứa cácchuỗi văn bản, giá trị Boolean và đôi khi là dữ liệu nhị phân được mã hóa Mặc
dù các tệp này có thể được kiểm tra bằng trình soạn thảo văn bản, nhưng hiệuquả nhất là xem thông tin phân cấp trong các tệp này bằng trình đọc XML
Trang 25Hình 2.5 Danh sách property lists
Cảnh báo duy nhất cho điều này là trong Mac OS 10.4, định dạng plist nhịphân đã trở nên phổ biến đối với một số danh sách thuộc tính Mặc dù các tệpnhị phân này vẫn chứa dữ liệu XML, nhưng chúng không thể dễ dàng đọc đượcbằng trình xem tích hợp của một số công cụ Do đó, nên kiểm tra các tệp danhsách thuộc tính bằng nhiều công cụ để trích xuất nhiều thông tin nhất
2.4 Tài khoản người dùng
Trong quá trình thực hiện bất kỳ phân tích điều tra nào của máy tính, điềuquan trọng là phải điều chỉnh các tài khoản người dùng trên hệ thống và liên kếtthông tin với người dùng đó Mặc dù có thể khó ràng buộc một người vào mộthành động mà không có sự can thiệp, tuy nhiên việc ràng buộc một tài khoản vớimột hành động sẽ dễ dàng hơn nhiều Đối với quy trình phân bổ này, việc liệt kêtài khoản là rất quan trọng trong bất kỳ phân tích điều tra nào và hệ thốngMacintosh cũng không khác gì Để liệt kê tài khoản, có ba phần quan trọng,
Trang 26thông tin tài khoản người dùng được lưu trữ trong cơ sở dữ liệu người dùng, (các) mật khẩu của người dùng và thông tin người dùng trên ổ đĩa.
Hình 2.6 Giao diện tạo mới tài khoản người dùng thông thường
Trang 27Hình 2.7 Giao diện tạo tài khoản root
Tùy thuộc vào phiên bản Mac OS đang được sử dụng trên hệ thống, thôngtin tài khoản người dùng sẽ được lưu trữ ở các vị trí và định dạng khác nhau.Điều quan trọng là phải nhận ra loại hệ thống đang xem xét trước khi cố gắngxác định người dùng Phiên bản mới nhất của MacOS 10.5, lưu trữ thông tin nàytrong các tệp nằm ngoài thư mục gốc của ổ đĩa tại “/ private / var / db /dslocal /” Mac OS 10.2–10.4 lưu trữ thông tin này ở một vị trí và định dạngkhác Các tệp cá nhân lưu trữ thông tin tài khoản ở định dạng cơ sở dữ liệu độcquyền và nằm trong thư mục “/private/var/db/netinfo/local.nidb/”
Trang 28Mặc dù các định dạng này có thể trông khác nhau như các tệp, nhưng chúng mang các loại thông tin giống nhau:
Tên, tên của tài khoản shell
Realname, tên của tài khoản GUI thường thấy khi đăng nhập
Số ID người dùng (uid); tài khoản do người dùng tạo thường bắt đầu từ 501 Giá trị này có thể hữu ích để xác định chủ sở hữu của một tệp cụ thể vì các thuộc tính của tệp thường sẽ chứa UID
Số ID nhóm (gid), thường tương tự như uid trong các phiên bản Mac OS
Hình ảnh, tương ứng với hình ảnh trên ổ đĩa có thể được sử dụng để nhận dạng người dùng từ quy trình đăng nhập GUI
Authentication_authority, xác định kiểu bảo mật được sử dụng cho mật khẩu Basic cho biết mật khẩu được giữ trong cơ sở dữ liệu, Shadow hash cho biết mật khẩu được giữ trong một tệp riêng biệt
Trang chủ, thư mục chính trên hệ thống liên kết với tài khoản người dùng Thư mục này chứa thư mục trên màn hình của người dùng và là vị trí mặc định cho các tệp do người dùng tạo và tải xuống Ngoài ra, thông tin cấu hình cụ thể của người dùng được lưu trữ trong thư mục này
Sharedir, thư mục được chia sẻ theo mặc định khi bật tính năng chia sẻ tệp Gợi ý, nếu có bất kỳ văn bản nào được cung cấp cho trường gợi ý trong quátrình tạo tài khoản
Khi cơ sở dữ liệu tiến triển, các trường mới đã được thêm vào:
Generateduid, một trường UUID dành riêng cho từng người dùng Điều này
sẽ phân biệt người dùng cá nhân được tạo giữa các máy
Home_loc, một trường để chỉ định tệp được sử dụng làm thư mục trang chủ,được thiết lập cho FileVault
Trang 29Mcx_settings, 1 mảng được thiết lập để xác định các đặc quyền kiểm soát Điều này quy định những gì một người có thể và không thể làm trên một tài khoản; chỉ có thể được đặt cho người dùng không quản lý.
Jpegphoto, phiên bản đc mã hóa base64 của hình ảnh đăng nhập, có thể bắt buộc trường hình ảnh
Để kiểm tra chi tiết tài khoản người dùng thì thông tin được lưu trữ trongcấu trúc dịch vụ thư mục của Mac OS 10.5 dễ đọc hơn nhiều bằng cách sử dụngcác công cụ phân tích dựa trên Windows so với cấu trúc NetInfo của Mac OS10.2-10.4 Để lấy cùng một thông tin trên hệ thống Mac OS 10.5, chỉ cần đọc cáctệp riêng lẻ trong “/ private / var / db / dslocal / nodes / Default / users /” Mỗi tàikhoản người dùng sẽ có một tệp trong thư mục này Một số tài liệu sẽ có dấugạch dưới để bắt đầu tên tệp, thường đây là những tài khoản mặc định của hệthống được sử dụng cho hoạt động bình thường của hệ thống Các tài khoản dongười dùng tạo thường sẽ không có điều này để bắt đầu tên của họ nhưng đâykhông phải là một quy tắc tuyệt đối Mỗi tệp này là một tệp plist được định dạngXML tiêu chuẩn có thể được kiểm tra bằng trình soạn thảo văn bản và được diễngiải bằng cách sử dụng trình xem plist
Trang 30Hình 2.8 File user1.plist trong macOS 10.12
Hình 2.9 Sử dụng tài khoản root xem được các file bị ẩn
Trang 31Sau khi truy xuất thông tin tài khoản từ hệ thống chủ đề, có một số thôngtin quan trọng cần lưu ý Đối với mỗi tài khoản, hãy lưu ý băm mật khẩu (Mac
OS 10.2), UUID (Mac OS 10.3–10.5) và thư mục Home (hoặc tệp) Những chitiết này hữu ích cho việc xác định và truy cập các tệp trên hệ thống được liên kếtvới một tài khoản người dùng cụ thể
2.5 Mật khẩu người dùng
Trong một số trường hợp, khi muốn biết mật khẩu cho tài khoản ngườidùng cụ thể trên hệ thống Macintosh Ví dụ: nếu các khu vực của người dùngđược mã hóa bằng FileVault, việc lấy được mật khẩu của người dùng có thểcung cấp quyền truy cập vào dữ liệu quan tâm
Mật khẩu đăng nhập cho Mac OS đã có một số cải tiến cùng với phần cònlại của hệ điều hành Trong Mac OS 10.2, mật khẩu là mật khẩu tám ký tự kiểuUnix tiêu chuẩn Người dùng có thể chọn mật khẩu dài hơn và có một lợi thế khilàm như vậy, nhưng mật khẩu yêu cầu để đăng nhập đã bị cắt bớt thành tám mậtkhẩu đầu tiên Hàm băm cho các mật khẩu này được lưu ở định dạng DES 128truyền thống và bản biên dịch tiêu chuẩn của John the Ripper (www.openwall.Com / john /) có thể bẻ khóa các mật khẩu này mà không cần thay đổi
Bắt đầu với Mac OS 10.3, mật khẩu đã bị xóa khỏi cơ sở dữ liệu NetInfo vàthay vào đó được lưu trữ trong thư mục “/ private / var / db / shadow / hash / “của ổ đĩa hệ thống Các tệp trong thư mục này hoàn toàn giống với số UUIDđược lấy từ tệp hệ thống Các tệp này chứa giá trị 104-character có vẻ như là mộthàm băm NTLM được gắn vào phía trước của một mật khẩu SHA1 thô Địnhdạng băm mật khẩu này có thể bị tấn công theo hai cách 64 ký tự đầu tiên có thểđược tách ra và định dạng để John the Ripper crack giống như một mật khẩuNTLM truyền thống Tuy nhiên, cách làm này sẽ chỉ cung cấp 14 ký tự đầu tiêncủa mật khẩu được sử dụng trên hệ thống Nếu mật khẩu dài hơn 14 ký tự, phải
bẻ khóa 40 ký tự cuối cùng bằng cách sử dụng phiên bản vá lỗi của John the
Trang 32John the Ripper có mật khẩu SHA1 thô, hãy lưu ý rằng các phiên bản Mac OSsau này sử dụng mật khẩu SHA1 muối, điều này yêu cầu sửa đổi bổ sung đối vớiJack the Ripper.
Hình 2.10 Minh họa John the Ripper về mã hóa mật khẩu thông qua
hàm băm
Hình 2.11 Sử dụng John the Ripper bẻ khóa pass một file
Với Mac OS 10.4 và 10.5, mật khẩu bị ẩn vẫn ở cùng mật khẩu và đượcliên kết với người dùng có số UUID, nhưng định dạng bên trong của tệp đã thayđổi Thay vì 104 ký tự, tệp chứa 1240 ký tự Ngoài ra, hàm băm NTLM không
Trang 33còn được lưu trữ theo mặc định Hàm băm NTLM sẽ chỉ được lưu trữ nếu tàikhoản người dùng được kích hoạt để chấp nhận máy khách SMB kiểu Windowsnhư một hình thức chia sẻ tệp Nếu điều này không được bật, thì mật khẩuNTLM sẽ là tất cả các số không.
Phân tích chính xác của tệp bóng mờ mới không được xác định, nhưng 64
ký tự đầu tiên đại diện cho mật khẩu NTLM nếu có và các ký tự 169 đến 216 đạidiện cho hàm băm SHA1 mới được lưu trữ Quan sát rằng giá trị này là 49 ký tự,dài hơn 40 ký tự trong Mac OS 1.3 Điều này là do mật khẩu hiện đã được muốihóa, điều này làm cho các cuộc tấn công brute force trở nên khó khăn hơn vì giờđây việc bẻ khóa một mật khẩu sẽ không tạo ra sự khác biệt đối với bất kỳ mậtkhẩu nào, không giống như mật khẩu không có muối Nếu mật khẩu đăng nhập
là cần thiết, thì việc có một phiên bản John the Ripper được vá đầy đủ hoặc mộttrình bẻ khóa mật khẩu khác có thể hữu ích
Khi mật khẩu sắp bị bẻ khóa, phần cuối cùng của việc thống kê tài khoản
có thể được tiến hành Được liệt kê trong bản ghi tài khoản người dùng sẽ là vịtrí nhà ở trên ổ đĩa Với thông tin này, quá trình phân tích tài liệu có thể bắt đầucho thư mục đó, với giả định rằng tất cả các tài liệu và thông tin đã lưu có thểđược quy cho người dùng Thật không may, nếu không có một công cụ phầnmềm có thể xác định cả quyền sở hữu các tệp và thư mục, cũng như các quyềnliên quan đến chúng, rất khó để thiết lập quyền sở hữu một cách dứt khoát,nhưng thực tiễn cho thấy rằng người dùng sẽ lưu trữ tài liệu của họ trong trangchủ thư mục
Trang 34Hình 2.12 Quyền đối với các thư mục của user
Hình 2.13 Các quyền cơ bản trong Mac
Quyền đọc ghi cho phép người dùng có thể xem, thêm, xóa, di chuyển vàchỉnh sửa tệp giống như thể chúng được lưu trữ trên máy tính của chính họ.Quyền chỉ đọc cho phép người dùng có thể xem và sử dụng các tệp được lưu trữtrong thư mục chia sẻ nhưng không thể thêm, xóa, di chuyển hoặc chỉnh sửachúng Quyền chỉ ghi cho phép thêm tệp vào thư mục này nhưng không thể xem
có gì trong đó Người dùng phải có quyền truy cập đọc vào thư mục chứa thưmục chỉ ghi Người dùng không thể xem cũng như sử dụng các thư mục hoặc ổđĩa được chia sẻ khi không có quyền truy cập
Trang 352.6 Các thư mục trong hệ điều hành MacOS
1.1.8 Cấu trúc thư mục trong MacOS
Để xem cấu trúc thư mục của macOS, mở cửa sổ Finder và nhấp vào biểutượng ổ cứng (thường được gọi là Macintosh HD) trong thanh Taskbar Bây giờ,người dùng sẽ thấy có ít nhất 4 thư mục là: Ứng dụng (Applications), Thư viện(Library), Hệ thống (System) và Người dùng (Users)
Hình 2.14 Chế độ xem trực quan các thư mục chính trên máy mac
Trong thư mục Người dùng (Users), mỗi người dùng có tài khoản trênmáy Mac này sẽ có bộ thư mục riêng chứa tài liệu, tùy chọn và các thông tinkhác thuộc về người dùng và tài khoản đó Cấu trúc thư mục này là cố định ngay
cả khi máy có một hay nhiều tài khoản người dùng khác nhau
Trong thư mục Người dùng (Users), tìm thấy thư mục Trang chủ cá nhân(personal Home folder) cùng với thư mục Chia sẻ (Share Folder), nơi người
Trang 36dùng có thể đặt các tệp muốn chia sẻ với những người dùng khác Tất cả các tệpnày được lưu trữ trong một cấu trúc thư mục lồng nhau.
1.1.9 Các thư mục lồng nhau trong MacOS
Các thư mục bên trong các thư mục khác thường được gọi là thư mục lồngnhau Để hiểu cách các thư mục lồng nhau hoạt động trong macOS, ví dụ về cácthư mục lồng nhau:
Hình 2.15 Thư mục lồng nhau, đi sâu vào bốn cấp độ
Màn hình nền là thư mục cấp cao nhất trong ví dụ này; tất cả các thư mục vàtệp khác mà bạn thấy đều nằm trong thư mục Desktop
Thư mục 1 nằm bên trong thư mục Desktop, sâu một cấp