1. Trang chủ
  2. » Luận Văn - Báo Cáo

ios17 giới thiệu về ios

16 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề ios 17
Tác giả Bùi Trần Hải Nam-21020525, Nguyễn Phúc Sơn-21021539
Người hướng dẫn Nguyễn Thị Hậu
Trường học Đại học quốc gia hà nội
Chuyên ngành INT2214
Thể loại bài luận
Năm xuất bản 2023
Thành phố hà nội
Định dạng
Số trang 16
Dung lượng 2,96 MB

Nội dung

ự ộ ố ạ● Không gian địa chỉ ảo 64-bit: Trong iOS 17, kích cỡ của không gian địa chỉ ảo sẽ phụthuộc lượng bộ nhớ vật lý có trên máy.. ● Không gian địa chỉ có thể sử dụng được: Không gian

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGH

-*** -

IOS 17

Giảng viên: Nguyễn Thị Hậu

Môn học:INT2214 20

Nhóm:16

Thành viên:

Bùi Trần Hải Nam-21020525

Nguyễn Phúc Sơn-21021539

Hà Nội, tháng 11 năm 2023

Trang 2

2

Mục l c ụ

I, Gi i thi u ớ ệ 3

II, Ki n trúc ế 3

III, Các chức năng chủ chố 4 t 1, Qu n lý ti n trình ả ế 4

a, Dispatcher 4

b, B l p l ch ti n trình ộ ậ ị ế 5

c, Thu t toán l p l ậ ậ ịch 5

2, Qu n lý b ả ộ nhớ 6

a,Bộ nhớ ảo 6

b, ARC 7

3, H ệ thống t p tin ậ 8

a, Phân vùng 8

b, Chia s không gian ẽ 8

c, Nhân b n ả 8

d, Snapshot và h i ph c ồ ụ 8

e, Mã hóa 8

4, B o m t ả ậ 8

a, B o m t ph n cả ậ ầ ứng 8

b, Khởi động an toàn 9

c, Code signing 9

d, H p cát ộ 10

e, Mã hóa và b o v dả ệ ữ liệ 10 u f, Gi m thiả ểu nguy cơ xâm nhập chung 10

g, M t sộ ố tính năng bảo mật và riêng tư mới trên iOS 17 11

5, Qu n lý k t n i mả ế ố ạng 11

IV, So sánh IOS17 v i IOS16 và phiên b n Android m i nh t (Android 14) ớ ả ớ ấ 12

a, So sánh iOS 17 v i iOS 16 ớ 12

b, So sánh iOS 17 v i android 14 ớ 12

V, Mô phỏng các tính năng nổ ậ 13 i b t a, Nhóm tab trong Safari 13

b, Cá nhân hóa trình duy t Safari ệ 14

VI, Trích d n ẫ 15

Trang 3

I, Gi i thi u ớ ệ

Vào ngày 9 tháng 1 năm 2007, trên sân khấu hội thảo Macworld tại San Francisco, Steve Jobs công b chi c iPhone ố ế – dòng điện tho i thông minh m i cạ ớ ủa Apple iPhone đã mở ra một k nguyên m i trong truyên thông và máy tính cá nhân không nh ng do thi t kỷ ớ ữ ế ế phần cứng siêu việt như các đối thủ c nh tranh, mà bên trong iPhone còn là iPhone OS v i nhạ ớ ững

đột phá trong thi t kế phần mềm như hỗế trợ cảm ứng đa điểm, thư thoại kèm ảnh, và khả năng tích hợp với iTunes iPhone OS sau phiên bản thứ 3 được đổi tên thành iOS, với mỗi phiên b n m i, iOS liên tả ớ ục tung ra các tính năng mới và đột phá, thách th c thông d ng ứ ụ trong thi t kế ế phần m m, gi v ng tinh thề ữ ữ ần đột phá c a chiủ ếc iPhone đầu tiên

Phiên b n m i nh t c a iOS hi n tả ớ ấ ủ ệ ại là iOS 17 được ra mắt vào ngày 18 tháng 9 năm 2023, đem theo đó là những tính năng mới như tương tác với widget và chế độ Standby cũng như cải thiện trong cảm ứng, tự động hoàn thành và k t n i mế ố ạng Những c i thi n trên chả ệ ỉ là bề nổi, nên trong báo cáo này chúng tôi s có mẽ ột cái nhìn chuyên sâu hơn về cách v n hành ậ của iOS17, trong đó bao gồm kiến trúc của iOS17 , một số các chức năng chủ ốt như quả ch n

lý ti n trình, qu n lý bế ả ộ nhớ ệ thố, h ng t p tin, k t n i m ng và b o m t Tậ ế ố ạ ả ậ ừ những y u t ế ố nền t ng này chúng tôi s so sánh iOS 17 v i hả ẽ ớ ệ điều hành ti n nhi m cề ệ ủa nó cũng như hệ điều hành từ các đối th củ ạnh tranh và minh họa những tính năng này

Sau báo cáo này, chúng tôi mu n v ra m t b c tranh chi ti t và chuyên sâu vố ẽ ộ ứ ế ề cơ chế hoạt

động của h điều hành iOS, cũng như làm nổệ i bật lên những điểm độc đáo trong thiết kế và vận hành c a iOS 17 Chúng tôi mong nhủ ững đối thủ c nh tranh có th hạ ể ọc hỏi cũng như phát tri n thêm tể ừ những tính năng này để người tiêu dùng có thể có đượ ảc s n ph m tẩ ốt nhất

II, Ki n trúc ế

iOS 17 được thiết kế theo kiểu tầng với 4 tầng chính là:

Trang 4

4

● Core OS: t ng này xầ ử lý các tính năng cấp th p, và là n n tấ ề ảng để các công ngh khác ệ

dựa vào T ng này có trách nhi m qu n lý b ầ ệ ả ộnhớ, x lý hử ệ thống t p tin,x lý lu ng ậ ử ồ

và cung c p các d ch vấ ị ụ như giao diện m ng c p th p và truy cạ ấ ấ ập đến các phụ kiện bên ngoài

● Core Services: t ng này có nhi m vầ ệ ụ quản lý các d ch vị ụ cơ bản đượ ử ụng ở ầc s d t ng Cocoa Touch

● Media : Đây là tầng xử lý các dịch vụ đa phương tiện như đồ họa, âm thanh và video Tầng này cho phép nhà phát tri n có th làm vi c v i các y u tể ể ệ ớ ế ố đồ họa như hoạt ảnh, phim, ảnh và âm thanh

● Cocoa Touch: t ng này là m t t ng trầ ộ ầ ừu tượng cung cấp các thư viện để ậ l p trình các thiế ị ửt b s dụng iOS T ng này cung c p các framework quan tr ng giúp ng d ng có ầ ấ ọ ứ ụ thiết lập thông báo, đa nhiệm, đầu vào cảm ng, và các d ch vụ cấp cao ứ ị

Kiến trúc phân t ng giúp ầ ứng dụng và ph n cầ ứng có th giao tiể ếp trơn tru với iOS đóng vai trò trung gian.Các t ng cung c p các giao di n h ầ ấ ệ ệ thống dướ ại d ng framework, t các ừ framework này mà ng d ng có th giao ti p v i ph n c ng Các t ng thứ ụ ể ế ớ ầ ứ ầ ấp hơn cung cấp các dịch vụ cơ bản thi t yế ếu trong khi các t ng trên hi n thầ ể ị đồ h a phọ ức t p và xạ ử lý các d ch vị ụ liên quan đến giao di n ệ

III, Các ch ức năng chủ chố t

1, Qu n lý ti n trình ả ế

a, Dispatcher

Quản lý ti n trình là chế ức năng quan trọng cho phép iOS th c hiự ện đa nhiệm và đa xử lý Trong iOS 17, ta s dử ụng các system calls để quản lý tiến trình Để quản lý các system calls này thì Apple gi i thi u Grand Central Dispatch(GCD) GCD Là mớ ế ột API phổ biế ủn c a Apple được s dử ụng để ỗ tr việ h ợ c x lý tác vử ụ đồng thời trên các ph n cầ ứng đa lõi của iOS và OSx Với GCD, chúng ta có thể thực hi n các thao tác sau mệ ột cách đơn giản: G i m t tác vử ộ ụ đến luồng ch y ngạ ầm(background thread) ch y song song v i luạ ớ ồng chính(main thread), Dùng chung d li u gi a các lu ng(mutex), L p l ch ch y cho m t tác v , X p các tác vữ ệ ữ ồ ậ ị ạ ộ ụ ế ụ chạy theo thứ t ự

GCD hoạt động dựa trên cơ chế Thread Pool: thay vì ph i t o các lu ng tr c ti p thì chúng ta ả ạ ồ ự ế

sẽ đưa các nhiệm vụ vào Queues Queues sẽ tự động t o và huạ ỷ luồng, còn vi c t o bao ệ ạ nhiêu lu ng thì s do h ồ ẽ ệ thống quyết định d a trên công vi c cự ệ ủa CPU đang thực thi Queue

sẽ quản lý những nhi m v mà ta gệ ụ ửi và ch y chúng theo th tạ ứ ự FIFO Điều này đảm bảo

Trang 5

rằng nhi m bệ ụ đầu tiên được thêm vào queue s là nhi m vẽ ệ ụ đầu tiên được bắt đâug sau đó lần lượt các nhiệm vụ được bắt đầu theo thứ tự đến hết queue

b, B l p l ch ti n trình ộ ậ ị ế

Bộ l p lậ ịch ti n trình có vai trò là ch n các tiế ọ ến trình trong b ể tiến trình để có thể nạp tuần

tự vào CPU B l p l ch s d a vào các thu t toán l p lộ ậ ị ẽ ự ậ ậ ịch để sao cho có th phân chia tài ể nguyên m t cách công b ng gi a các ti n trình và tránh lãng phí tài nguyên CPU B l p l ch ộ ằ ữ ế ộ ậ ị trong iOS 17 ch y u s d ng b l p l ch ng n h n do có ph n hủ ế ử ụ ộ ậ ị ắ ạ ả ồi người dùng nhanh M i ỗ khi đồng hồ của CPU bị ngắt hoặc thiết bị vào ra bị ngắt hoặc người dùng gọi system call , bộ lập lịch ngắn h n s quyạ ẽ ết định ti n trình nào trong hàng ch sế ờ ẵn sàng được n p vào CPU ạ

c, Thu t toán l p l ậ ậ ịch

Như đã nói ở trên thì bộ lập lịch sẽ dựa vào thuật toán lập lịch để quyết định tiến trình nào được nạp vào CPU Ở trên iOS 17 thì ta s d ng mử ụ ột vài thuật toán dưới đây:

● Round Robin: m i tiỗ ến trình trước khi bắt đầu được đưa vào CPU xử lý, s ẽ đượ ấp c c phát cho một đơn vị thời gian chi m d ng CPU nhế ụ ất định Đơn vị thời gian này được gọi là quantum Như vậy, khi một tiến trình sử dụng hết thời gian quantum mà nó

được cấp phát, thì dù v n còn phẫ ải x lý tiử ếp, phần dư của nó cũng sẽ ợđư c chuy n ể

về phía sau trong danh sách hàng đợ Sau đó, căn cứi vào danh sách sẵn sàng đã nạp trước đó, CPU sẽ lấy tiếp tiến trình kế cận để đưa vào xử lý, với mức quantum là như nhau cho t t c các ti n trình iOS 17 s d ng Round Robin làm thu t toán l p l ch d ấ ả ế ử ụ ậ ậ ị ự phòng trong trường hợp các thuật toán khác không thể phục vụ kịp thời các tiến trình Round Robin s giúp các tiẽ ến trình đều được CPU x lý m t kho ng th i gian ử ộ ả ờ như nhau, dẫn đến việc giảm thiểu thời gian trễ hoặc tình trạng “đói” CPU

● Lập lịch hàng đợi phản hồi đa cấp(MFQS): sử dụng nhiều mức hàng ch vờ ới độ ưu tiên khác nhau, m i hàng ch có th s d ng thu t toán riêng, ví d Round-Robin ỗ ờ ể ử ụ ậ ụ (RRS) hoặc FCFS.MFQS cho phép điều chuyển (điều ti t) ti n trình t hàng ch này ế ế ừ ờ sang hàng ch kia Trong iOS 17, các mờ ức ưu tiên được chia thành 4 m c là: ứ

o Kernel-level: s d ng trong quử ụ ản lý đầu vào/ra và qu n lý ph n cả ầ ứng

Trang 6

6

o Real-time: s d ng cho trình chử ụ ạy đa phương tiện, game 3D

o System-high: các nhi m vệ ụ ưu tiên cao như dịch v hụ ệ thống

o Normal: t t c các nhi m v còn l i ấ ả ệ ụ ạ

2, Qu n lý b ả ộ nhớ

iOS 17 s d ng 2 công cử ụ ụ chính để quản lý bộ nhớ là bộ nhớ ảo và bộ đếm tham chi u t ế ự

động (ARC) Nh ng thu t toán trong bộ nh ảo như phân trang hay phân mảnh được s ữ ậ ớ ử

dụng trong qu n lý b ả ộ nhớ c p thấ ấp, nhưng iOS chủ ế ử ụng ARC để quản lý b y u s d ộnhớ h ệ thống

a,Bộ nhớ ảo

Bộ nhớ ảo được định nghĩa là lớp trừu tượng phân cách tiến trình với bộ nhớ vật lý(RAM)

Bộ nhớ ảo trong iOS không có nhiều điểm khác bi t so v i các hệ ớ ệ điều hành c nh tranh, tuy ạ nhiên iOS 17 vẫn có vài điểm độc đáo:

● Không th c hi n page-out: Khác vự ệ ới đa số ệ điề h u hành(k c MacOS), iOS không ể ả

thực hi n page-out cho b ệ ộnhớ được s d ng b i tiử ụ ở ến trình Thay vào đó, iOS sẽ chỉ xóa các trang Read-only c a m t tủ ộ ập tin được ánh x b ạ ộ nhớ ế, n u c n thì ta có th ầ ể page-in t p tin này l i Khi bậ ạ ộ nhớ ậ v t lý trong máy th p, RAM có th lo i bấ ể ạ ỏ những tập tin được ánh xạ bộ nhớ M t s ví d cộ ố ụ ủa t p tin này bao gậ ồm thư viện chung, tệp tin th c thi chính, và m t s lo i tài nguyên ự ộ ố ạ

● Không gian địa chỉ ảo 64-bit: Trong iOS 17, kích cỡ của không gian địa chỉ ảo sẽ phụ thuộc lượng bộ nhớ vật lý có trên máy

● Không gian địa chỉ có thể sử dụng được: Không gian địa chỉ ảo trong iOS luôn để lại 8

GB với 4 GB đầu được chỉ định làm trang s 0 (PAGE_ZERO) còn 4 GB còn lố ại được dùng làm vùng chia s cho hẻ ệ thống

Trang 7

● Địa ch ảo mở rộng: kể t iOS14 thì ta có thêm đặỉ ừ c quyền mở rộng địa chỉ ảo Tiến trình s dử ụng đặc quy n này s có chìa khóa plist là ề ẽ

com.apple.developer.kernel.extended-virtual-addressing Ti n trình này có th s ế ể ử

dụng toàn bộ không gian địa ch 64 bit, giúp cho vi c ánh x b ỉ ệ ạ ộnhớ cho các ti n trình ế

có nhi u d liề ữ ệu Read-only

b, ARC

ARC, vi t tế ắt cho Automatic Reference Counting, là cơ chế tự động đếm số lượng tham chiếu ARC được dùng để theo dõi và qu n lý b ả ộ nhớ ứng dụng đượ ử ục s d ng

và tự động gi i phóng bả ộ nhớ không dùng đến nữa Đếm tham chiếu chỉ áp dụng cho instance c a m t l p Struct và enum là bi n giá tr nên sủ ộ ớ ế ị ẽ không được lưu và thay vào đó được gọi tham chiếu

Trong iOS, khi đối tượng được khởi tạo, nó sẽ đư c quản lý bởi ARC Dựa vào số ợ lượng tham chiếu đến mà đối tượng đó được gán một số được gọi là bộ m tham đế chiếu Mỗi khi đối tượng được tham chi u bế ởi đối tượng khác, bộ đếm tham chiếu

sẽ tăng thêm, và giảm khi nó không còn được tham chiếu đến nữa Một đối tượng sẽ được xoá bỏ và tr lả ại bộ nhớ cho hệ thống khi nó không còn được tham chiếu b i ở bất kỳ đối tượng nào khác, hay bộ đếm tham chi u b ng 0 ế ằ

- ARC r t h u dấ ữ ụng, nhưng nó mới chỉ giải phóng được các đối tượng không còn được tham chiếu Trong trường hợp 2 đối tượng không còn được tham chi u bế ởi các được đối tượng khác, nhưng nếu 2 đối tượng này tham chiếu lẫn nhau thì bộ đếm tham chiếu của cả 2 đối tượng đều khác 0 Điều này dẫn đến 2 đối tượng không đượ ử c s dụng s luôn t n tẽ ồ ại trong chương trình, từ đó xảy ra th t thoát bấ ộ nhớ Hiện tượng này được gọi là chu trình tham chiếu

Như thấy ở trên, chu trình tham chiếu sẽ gây nhiều thất thoát bộ nhớ, mà các lập trình viên cũng thường lập trình 2 đối tượng tham chiếu lẫn nhau Để khắc phục tình trạng này thì iOS cung c p 2 ki u tham chiấ ể ếu mới là tham chi u y u và tham chiế ế ếu không ch : ủ

+ Tham chi u y u là tham chi u không gán ch t vế ế ế ặ ới đối tượng c a nó nên ARC có th ủ ể

dễ dàng d n dọ ẹp instance được tham chiếu đó Để biến có th có tham chi u y u thì ể ế ế

ta khai báo từ khóa “weak” trước câu khai báo bi n Do tham chi u y u không gán ế ế ế chặt với đối tượng nên nó được ARC đặ ộ đết b m tham chi u b ng 0 khi instance nó ế ằ chỉ đến được giải phóng Do giá trị tham chiếu luôn có thể về 0 trong thời gian chạy nên ta không thể đặt tham chi u y u làm h ng s ế ế ằ ố

+Tham chi u không ch là tham chiế ủ ếu mà như tham chiếu yếu không được gán chặt với đối tượng Tuy nhiên, khác với tham chiếu yếu thì tham chiếu không chủ dùng khi th i gian t n t i cờ ồ ạ ủa đối tượng dài hơn hoặc b ng v i th i gian t n t i tham ằ ờ ờ ồ ạ chiếu Để sử dụng tham chiếu không chủ ta sử dụng từ khóa “unowned” Một điểm khác so v i tham chi u y u là tham chi u này ph i luôn có giá tr , nên ARC không th ớ ế ế ế ả ị ể đưa giá trị tham chiếu về 0

Trang 8

8

3, Hệ thống t p tin ậ

Hệ thống t p tin xậ ử lý lưu trữ bền lâu cho tập tin dữ liệu, ứng dụng và các tập tin hệ thống của hệ điều hành K tể ừ iOS 10.3, iOS sử d ng h ụ ệ thống t p tin Apple hay APFS thay vì h ậ ệ thống t p tin phân cậ ấp HFS thường đượ ử ụng trong các hệ điều hành mã ngu n m c s d ồ ở như Linux, Unix và BSD

a, Phân vùng

Khác v i các h ớ ệ thống t p tin khác, Apple s d ng kiậ ử ụ ểu phân vùng đơn có tên gọi là container APFS Container APFS là m t container o có thộ ả ể chứa 1 ho c nhiặ ều ổ đĩa, tương

tự như phân vùng Mỗi ổ c ng trong container APFS s có h ứ ẽ ệ thống t p tin riêng và có th ậ ể dùng để lưu trữ dữ liệu , ứng dụng, và các tập tin khác

Container APFS được khởi tạo ở khâu cài đặt đầu tiên và không thể thay đổ ởi người b i dùng Điều này giúp tăng tính bảo mật và ổn định của hệ ề đi u hành, trong khi v n cho phép quẫ ản

lý không gian lưu trữ trên thiết b b ng cách xóa bị ằ ớt ứng d ng và t p tin thụ ậ ừa

b, Chia s không gian ẽ

Khác với phân vùng thông thường, thay vì ta đặt dung lượng và v trí cị ố định cho từng ổ cứng/ phân vùng, các s chia sổ ẽ ẽ không gian lưu trữ trên container APFS và sẽ được APFS sắp x p theo thế ứ tự logic Đặc điểm này giúp ta có thể dễ dàng sử dụng dung lượng thừa trên các c ng k bên vì m r ng c ng chổ ứ ế ở ộ ổ ứ ỉ đơn giản là dùng phép c ng logic v i phộ ớ ần trống trong c ng ổ ứ

c, Nhân b n ả

Khi ta sao chép tập tin thông thường, t p tin sậ ẽ được đọc và ghi thành m t kh i m i, dộ ố ớ ẫn

đến tốn thêm CPU, RAM để th c hiự ện cũng như ổ ứng để lưu trữ c APFS một l n nữa đi ầ ngược với truyền thống khi th c hiện nhân b n tự ả ập tin: APFS sao chép đến địa chỉ mới thì ta chỉ lưu tham chiếu đến vị trí tập tin cũ, do đó tiết kiệm được dung lượng Chỉ khi tập tin cũ

bị chỉnh s a thì APFS m i t o m t b n sao riêng biử ớ ạ ộ ả ệt

d, Snapshot và h i ph c ồ ụ

APFS có th t o m t snapshot cể ạ ộ ổ ứng đại di n cho 1 m c th i gian Snapshot là con ch ệ ố ờ ỏ Read-only đến ổ cứng gốc và dữ liệu Snapshot chỉ tốn dung lượng chứa các con chỏ nên sẽ nhẹ hơn là sao chép ra ổ cứng dự phòng Sau một khoảng thời gian thì Snapshot sẽ được cập nh t v i chậ ớ ỉ thay đổi được viết vào snapshot

e, Mã hóa

APFS nh n rấ ất mạnh vào khả năng mã hóa Nó có nhiều cấp độ mã hóa, ví d không mã hóa, ụ

mã hóa dùng 1 chìa khóa cho m i phân vùng, mã hóa riêng cho t ng file Mã hóa có 2 ch ỗ ừ ế

độ là AES-XTS và AES-CBC Hiện iOS đang được áp dụng cấp mã hóa t ng file, mỗi file có m t ừ ộ chìa gi i mã riêng bi t nên tính an toàn cao Khi b n b l y cả ệ ạ ị ấ ắp máy tính hay điện thoạ ẻi, k tấn công s rẽ ất khó để ấy đượ l c n i dung g c cộ ố ủa nh ng file này nh có APFS ữ ờ

4, B o m t ả ậ

Kiến trúc b o m t c a iOS gả ậ ủ ồm có 6 tính năng chủ chốt sau đây

a, B o m t ph n cả ậ ầ ứng

iOS t n dậ ụng các tính năng bảo m t d a vào ph n cậ ự ầ ứng để ả c i thi n hi u su t c a máy M i ệ ệ ấ ủ ỗ thiế ịt b iOS được trang bị sẵn 2 chìa khóa AES 256-bit Trong quá trình sản xuất, 2 chìa khóa

Trang 9

này được kết hợp hoặc biên dịch vào bộ xử lý ứng dụng (AP) và bộ xử lý Secure Enclave (SEP) để ra định danh độc nhất của thiết bị (UID) và định danh nhóm thiết bị (GID) Việc giải

và mã hóa được thực hiện bởi phần cứng mã hóa AES với 2 chìa khóa trên chỉ được truy cập bởi ph n c ng mã hóa AES ầ ứ

Giá trị GID được chia s ẻ đến mọ ộ ửi b x lý trong 1 l p các thi t b chuyên ch ng ch nh sớ ế ị ố ỉ ửa firmware và các công vi c mã hóa không x lý d liệ ử ữ ệu cá nhân người dùng UID do là độc

nhất nên được sử dụng để bảo vệ phân cấp chìa khóa được sử dụng trong mã hóa hệ ống th thông tin cấp thiế ị t b

Để ta có thể xóa thông tin nhạy cảm một cách an toàn trên b nhớ flash, Apple giới thi u ộ ệ tính năng Effaceable Storage Tính năng này cung cấp khả năng truy cập trực tiếp đến các

phần bộ nhớ c p th p, tấ ấ ừ đó ta có thể an toàn xóa các kh i b ố ộnhớ mong mu n ố

b, Khởi động an toàn

Khi thi t b iOS khế ị ởi động, nó sẽ đọc ch d n t bỉ ẫ ừ ộ nhớ ROM đượ ọc g i là ROM khởi động ROM khởi động ch a mã không thứ ể chỉnh s a và ch ng ch Apple Root CA, nh ng th này ử ứ ỉ ữ ứ

sẽ được nhúng vào chip silicon trong quá trình sản xuất, và 2 thứ này sẽ đóng vai trò làm gốc r tin cễ ậy Sau đó, ROM khởi động ki m tra chể ữ ký c a trình khủ ởi động b c th p (LLB), ậ ấ rồi LLB ki m tra chể ữ ký điệ ử ủn t c a iBoot Ở bước cu i cùng thì iBoot ki m tra ch ký cố ể ữ ủa nhân hệ điều hành IOS Nếu 1 trong 3 bước này th t b i thì hấ ạ ệ thống sẽ đi đến chế độ phục hồi, tuy nhiên n u Boot ROM th t b i thì máy s ế ấ ạ ẽ bước vào chế độ ồ h i phục đặc bi t là nâng ệ cấp firmware thiết b (DFU) khiị ến cho điện tho i không ph n h i và màn hình không hiạ ả ồ ển thị

Khâu khởi động trên có tên là Secure Boot Chain, và nó đóng vai trò xác thực tính toàn vẹn của quá trình khởi động và đảm bảo m i thành phọ ần trong khâu được viết và phân ph i bố ởi Apple

c, Code signing

Apple áp d ng m t hụ ộ ệ thống b o v bả ệ ản quyề ố DRM khá ph c t p trên iOS, v i m c tiêu n s ứ ạ ớ ụ

đảm bảo ch có mã nguỉ ồn được Apple ký vào mã mới chạy được trên iOS Điều này khiến người dùng ch có thể s dỉ ử ụng App Store để ải ng d t ứ ụng, cũng như ứng dụng bản địa trên Apple phải đượ ậc l p trình bằng Objective C hay Swift Để phát hành ng d ng trên iOS ta ứ ụ cần phải tham gia chương trình phát triển c a Apple và trủ ả phí thường niên để có mọi tính năng phát triển và phát hành ứng dụng Chữ ký mã nguồn trên iOS gồm 3 phần:

● Con d u: con d u này ch a m i giá tr hash và checksum c a các phân m nh c a mã ấ ấ ứ ọ ị ủ ả ủ nguồn, được sản xuất bởi phần mềm kỹ mã nguồn của Apple Con dấu được dùng để chống gi m o ho c ch nh s a mã nguả ạ ặ ỉ ử ồn

● Chữ ký điện t : phần m m ký mã nguồn mã hóa con dử ề ấu dùng định danh của người

ký để tạo chứ ký điện tử Chữ ký đảm bảo tính toàn vẹn của con dấu

● Yêu c u mã ngu n: Có các lu t h n chầ ồ ậ ạ ế phần m m ký mã ngu n Tùy vào mề ồ ục đích thì m t s giá trộ ố ị được hi n thể ị cho người xác nhận trong khi có trường h p toàn b ợ ộ

mã nguồn được mã hóa

Trang 10

10

d, H p cát ộ

iOS s d ng công nghử ụ ệ appsandbox để kiểm soát truy c p Công nghậ ệ này đượ ử ục s d ng ở

bậc nhân hệ điều hành và được dùng để giới hạn thiệ ạt h i cho h ệ ống và người dùng trong th trường hợp thi t b b xâm phạm ế ị ị

Hộp cát là một chức năng bảo m t thi t y u có m t tậ ế ế ặ ừ phiên bản đầu tiên c a iOS Tủ ất c các ả

ứng d ng bên th ba đượụ ứ c chạy bởi người dùng mobile, trong khi m t s nh các ng dụng ộ ố ỏ ứ

h thệ ống được chạy bơi người dùng root Ứng dụng iOS thông thường sẽ bị giới h n trong ạ một container, trong container này ng d ng bứ ụ ị giới h n ch truy cạ ỉ ập đượ ập tin của ứng c t dụng cũng như một vài API hệ thống H p cát sộ ẽ kiểm soát truy cập đế ấ ản t t c tài nguyên trên máy Gi i h n hớ ạ ộp cát đặt như sau:

● Tiến trình ng d ng chứ ụ ỉ đượ ử ụng thư mụ ủa ức s d c c ng d ng qua m t ti n trình ụ ộ ế tượng t chroot ự

● Hàm h ệ thông mmap và mprotect được ch nh sỉ ửa để tránh ng d ng bi n bứ ụ ế ộ nhớ viết được thành tập tin thực thi cũng như ngăn ứng dụng thực hiện mã được tạo một cách linh động Giữa code signing và FairPlay, loại mã được thực thi bị giới hạn tột cùng tùy t ng ng cừ ữ ảnh

● Tiến trình b cô l p, cho dù có ch có cùng UID t i b c hị ậ ủ ạ ậ ệ điều hành

● Driver ph n c ng không thầ ứ ể được truy c p tr c tiậ ự ếp Thay vào đó, ta phải truy cập qua các framework công khai c a Apple ủ

e, Mã hóa và b o v dả ệ ữ liệu

Mã hóa mã FairPlay được áp dụng trên mọi ứng dụng được tải từ App Store FairPlay được phát triển dướ ại d ng DRM khi ta mua nội dung đa phương tiện Ban đầu thì mã hóa FairPlay chỉ được s d ng trên tử ụ ập tin MPEG cũng như các luồng QuickTime, nhưng nguyên lý hoạt động này cũng áp dụng được cho tập tin thực thi Cơ chế ủa FairPlay như sau: khi ta đăng c

ký thành người dùng mới của Apple/ AppleID thì ta được trao một cặp khóa công khai/bí mật, do đó mã bị mã hóa bởi FairPlay chỉ có thể được giải b i thi t b có c p chìa Ta có th ở ế ị ặ ể đảo ngược mã hóa FairPlay bằng cách chạy ứng dụng rồi ta dump mã được giải từ bộ nhớ Apple tích h p mã hóa vào ph n c ng và firmware t iPhone 3GS Do iOS mã hóa th c hiợ ầ ứ ừ ự ện

ở bậc phần c ng và firmware, b o v dữ li u bậứ ả ệ ệ c ph n m m có thể ợầ ề h p tác v i hai bên trên ớ

để thêm tính bảo m t cho h thống ậ ệ

Khi b o v d liả ệ ữ ệu được b t thì khi ta thi t l p mậ ế ậ ật mã trên điện thoại thì mỗi tập tin được thêm vào m t l p b o vộ ớ ả ệ nhất định M i l p hỗ ớ ỗ trợ một m c truy cứ ập và b o v khác nhau ả ệ dựa trên hoàn c nh tả ập tin được truy cập Các bước mã hóa và gi i mã ng v i m t t ng ả ứ ớ ộ ầ dựa vào cơ chế đa khóa sử dụng UID, mật mã, chìa khóa lớp, chìa khóa hệ thống t p tin, và ậ chìa khóa t p tin Chìa khóa t p tin mã hóa n i dung t p tin, chìa khóa l p bao trùm chìa ậ ậ ộ ậ ớ khóa tập tin và được lưu trong siêu dữ ệ li u c a t p tin Chìa khóa hủ ậ ệ thống tập tin được dùng để mã hóa siêu dữ liệu tập tin UID và mật khẩu sẽ bảo vệ chìa khóa lớp Tất cả các bước này đều vô hình trước người dùng Mật khẩu và UID kết hợp tạo ra chìa khóa mã hóa iOS, chìa khóa này có ch ng ch u tố ị ốt trước các cu c t n công bruteforce ộ ấ

f, Gi m thiả ểu nguy cơ xâm nhập chung

iOS th c hi n ngự ệ ẫu nhiên hóa sơ đồ không gian địa ch (ASLR) và bit không bao giỉ ờ thực thi(XN) để giảm thiếu các cuộc tấn công thực thi mã từ xa(RCE)

Ngày đăng: 14/05/2024, 16:08

w