מערכת הפעלה iOS

מערכת הפעלה ניידת מבית אפל, המשמשת את מוצרי החברה, כגון iPhone, ‏iPod, ‏iPad, ‏Apple TV. המערכת מבוססת על ליבת מערכת ההפעלה Mac OS X.


אבטחת המערכת:
מערכת ההפעלה iOS מחולקת 5 שכבות עיקריות:
Cocoa Touch - שכבת  האפליקציה.
Media - מדיה.
Core Services - שירותי ליבה.
Core OS - ליבת מערכת ההפעלה.
Kernel and Device Drivers - קרנל ודרייברים.

 
בעת הרצת אפליקציה הנתונים מועברים אל שני אזורים נפרדים הנקראים Containers:
Bundle Container - משמשת לארגון את המשאבים אל תוך תיקיות משנה, הצגת הקוד והקצאת משאבים.
Data Container -  אוסף של תיקיות המשמשות את האפליקציה בעת ההרצה:
Document - תיקייה בה יאוחסנו הנתונים שמגיעים מהמשתמש.
Library - מידע פנימי של האפליקציה.
tmp - משמשת לכתיבת מידע זמני.

אחסון וניהול נתונים במערכת:
בכל מכשיר iOS משולבים רכיבי חומרה תוכנה ושירותים שנועדו לעבוד יחד. המערכת מצפינה את הנתונים ומגנה עליהם גם כאשר ההתקן סגור והנתונים אינם בשימוש.

SQLite - ניהול תוכן, משמשת כמקשר בין האפליקציה לאחסון הנתונים. בעזרתה יכול המשתמש להוסיף, לערוך ולמחוק נתונים.
Property List Files - קובץ טקסט (Info.plist) המכיל מאפיינים (בצורת מפתחות וערכים) אליהם ניגשת המערכת בזמן ריצה. רשימת המאפיינים מכילה נתוני תצורה עבור האפליקציה.
Keychain Services - שירות המספק אחסון מאובטח של סיסמאות, מפתחות, אישורים עבור משתמש אחד או יותר. ניתן לפתוח מחזיק מפתחות עם סיסמה אחת ויישום המורשה לכך ישתמש בצרור הנתונים לאחסון ואחזור סיסמאות.



הגנה על מערכת הקבצים:
ללא הגנה - No Protection: הקבצים נגישים כל הזמן.
הגנה מלאה - Complete Protection: הקבצים אינם נגישים כאשר ההתקן נעול.
הגנה מלאה עד לפתיחה - Complete Until Open: הקבצים אינם נגישים עד שההתקן יפתח.
הגנה מלאה עד לאימות של המשתמש: Complete Until User Authentication. 

אימות נתונים:
בעת טעינת מערכת ההפעלה בשלב ה-Boot מתבצע אימות בעזרת קוד הניתן לקריאה בלבד באמצעות מפתח ציבורי. לאחר אימות המפתח והחתימה, iBoot יטען מזיכרון הפלאש ויאמת שהוא אכין מכיר את הקרנל ובמידה וכל התהליך יתרחש כשורה המערכת תטען את נתוני המשתמש.

אפליקציות במערכת ההפעלה:
כל האפליקציות במערכת ההפעלה רצות ב-Sandbox נפרד ואינן מתקשרות עם אפליקציות נוספות. במידה וניגשים אל אפליקציה מערכתית כגון: מצלמה, מקרופון וכו' יתבצע הליך בקשת הרשאה.

כל האפליקציות חייבות להיות חתומות על ידי Apple. לא ניתן להוריד אפליקציות שנמצאות מחוץ לחנות האפליקציות, אלא אם כן המכשיר נפרץ (Jail Break). לפני העלאת אפליקציה אל החנות היא נבדקת בקפידה כדי למנוע החדרה של קובץ זדוני אל המכשיר.

הגנה מפני חולשות אפשריות:
* לקבצים הנכתבים אל הזיכרון יהיו הרשאות כתיבה אך ללא הרצה.
* קוד ונתונים לא מאוחסנים יחד.
* כתיבת קוד שאינו תלוי במיקום ספציפי בזיכרון.
* מחסנית כנריות המשמשות לזיהוי Buffer Overflow.


שתף:

פאביו ליאור רחמים

סקרן, אוהב טכנולוגיה ומחשבים מזה שנים רבות וכותב ערכים קבוע בויקיפדיה.