MULTIC merupakan salah satu sistem operasi pertama yang mendukung time sharing. Sistem ini dirancang untuk mendukung multiuser, multiprosesor, dan filesystem hierarki, namun akhirnya dihentikan karena banyak bug. Beberapa desain awal MULTIC seperti model cincin perlindungan dan segmentasi memengaruhi pengembangan sistem operasi selanjutnya seperti UNIX.
2. Apa itu MULTIC?
Multics merupakan salah satu sistem
operasi pertama yang bisa Time
Sharing. Multics muncul dari sistem
timesharing awal yang disebut
Compatible Timesharing System
(CTSS).
3. Sejarah MULTIC
Proyek Multic dimulai pada tahun1963.
Sistem operasi Multics ini awalnya didesain dengan harapan
akan menciptakan beberapa keunggulan, seperti multiuser,
multiprosesor, dan multilevel filesystem. Namun pada tahun
1969, AT&T akhirnya menghentikan proyek pembuatan
Multics karena sistem operasi Multics ini sudah tidak memenuhi
tujuan semula. Dengan kata lain, proyek ini mengalami
hambatan karena dalam kenyataannya Multics banyak
terdapat bugs dan sulit sekali dioperasikan.
Beberapa programmer Bell Labs yang terlibat dalam
pembuatan dan pengembangan Multics, yaitu Ken Thompson,
Dennis Ritchie, Rudd Canaday, dan Doug Mcllroy, secara tidak
resmi tetap meneruskan proyek pengembangan Multics. Dan
akhirnya sampailah pada sebuah sistem operasi generasi
penerus dari Multics bulan Januari 1970 yang diberi nama
UNIX.
5. Konsep dasar MULTIC
Konsep dasar dalam sistem Multics adalah proses dan
segmen. Proses mengeksekusi dalam Multics
yaitu, menjalankan kode program. Semua kode, data, I /
O device, dll yang dapat diakses oleh proses disimpan
sebagai segmen. Segmen akan disusun dalam sebuah
hirarki direktori yang berisi direktori atau segmen.
Sebuah Multics process protection domain terdiri dari
segmen yang dapat dimuat ke segmen descriptor dan
operasi yang kemudian bisa ditampilkan pada segmen.
Setiap segmen dikaitkan dengan aksesibilitas , subjek
yang memiliki proses dapat mengakses segmen dan
operasi yang mereka izinkan dapat dijalankan. Multics
memiliki tiga cara yang berbeda untuk mengekspresikan
aksesibilitas.
6. Dasar dari keamanan
MULTIC
Keamanan Multics tergantung pada
beberapa konsep.
Konsep-konsep ini meliputi Multics
supervisor, protection rings, and Multics
segment descriptor .
9. Cont...
izin proses-nya (RWE) untuk segmen
ini, dan, untuk segmen kode, jumlah
gerbang telah ditetapkan . Ketika proses
referensi SDW , batas ring bracket
akses berdasarkan saat ring di mana
mengizinkan proses . Proses perizinan
(RWE) membatasi operasi bahwa
proses pernah melakukan pada
segment ini .
10. Model sistem keamanan
MULTIC
Sistem proteksi Multics terdiri dari tiga yang berbeda, model
interaksi yang secara individual memberikan aspek-aspek yang
berbeda dari sistem perlindungan Multics keseluruhan. Untuk
mempermudah memperkenalkan model dalam isolasi
pertama, dan menggambarkan proses otorisasi keseluruhan.
Setiap objek (misalnya, segmen atau direktori) dikaitkan
dengan akses sendiri dalam daftar kontrol (ACL). Setiap entri
ACL menentukan identitas pengguna proses dan operasi yang
proses dengan identitas yang dapat melakukan ini.Note bahwa
pengguna dapat ditentukan menggunakan wildcard untuk
mewakili kelompok pengguna. Segmen dan direktori memiliki
set operasi yang berbeda. Segmen dapat dibaca (r), ditulis
(w), atau dieksekusi (e), dan direktori dapat diakses untuk
memperoleh status dari entri (s), memodifikasi entri
(misalnya, menghapus atau memodifikasi ACL, (m), atau
menambahkan sebuah entri ke direktori (a)
11. Examples of ACLs on a
segment include:
rew Jaeger.SysAdmin.*
r Backup.SysDaemon.*
rw *.SysAdmin.*
Also, examples of directory ACLs include:
sma Jaeger.SysAdmin.*
s Backup.SysDaemon.*
sm *.SysAdmin.*
12. Cont...
Ring dan bracket Multics juga membatasi akses berdasarkan
cincin perlindungan proses. Segmen masing-masing terkait
dengan spesifikasi braket cincin yang mendefinisikan
membaca, menulis, dan mengeksekusi hak akses dari proses
selama segmen tersebut. Juga, aturan perlindungan domain
transisi didefinisikan oleh bracket. Pertama, braket akses
segmen ini mendefinisikan rentang dari cincin yang dapat
membaca dan menulis ke segmen. Sebuah braket akses
ditentukan oleh berbagai cincin (r1, r2) di mana r1 ≤ r2 (yaitu, r1
lebih istimewa daripada r2). Misalkan suatu proses berjalan di
ring r, maka hak akses dari proses yang ke segmen dengan
braket akses (r1, r2) ditentukan oleh:
Jika r <r1, maka proses dapat membaca dan menulis ke segmen.
Jika r1 ≤ r ≤ r2, maka proses dapat membaca segmen saja.
Jika r2 <r, maka proses tidak memiliki akses ke segmen.
13. Cont...
Dalam Multics, setiap direktori menyimpan pemetaan
dari setiap segmen ke tingkat kerahasiaan. Dan
Juga, Multics menyimpan hubungan antara setiap
proses dan tingkat kerahasiaannya. Permintaan
berwenang jika salah satu dari tiga kondisi terpenuhi:
Menulis: Permintaan Proses menulis akses hanya dan
tingkat segmen / direktori lebih besar dari
(yaitu, mendominasi) atau sama dengan tingkat proses.
Baca: Permintaan Proses akses baca saja dan tingkat
segmen / direktori kurang dari (yaitu, didominasi oleh)
atau sama dengan tingkat proses.
Baca / Tulis: Permintaan Proses membaca dan menulis
akses dan tingkat segmen / direktori yang sama dengan
proses atau proses tersebut ditetapkan sebagai
terpercaya.
14. Sistem keamanan MULTIC
Sistem perlindungan Multics terdiri dari tiga kebijakan. Bila segmen
yang diminta, ketiga kebijakan harus mengotorisasi permintaan. Jika
operasi yang diminta membaca, ACL diperiksa untuk menentukan
apakah pengguna memiliki akses, kebijakan MLS diperiksa untuk
memverifikasi bahwa tingkat kerahasiaan objek didominasi oleh atau
sama dengan proses itu, dan braket akses diperiksa untuk menentukan
apakah proses telah membaca akses ke segmen benda (r ≤ r2). Ketika
operasi yang diminta adalah menulis, ACL diperiksa untuk akses
menulis, kebijakan MLS diperiksa untuk memverifikasi bahwa tingkat
kerahasiaan objek mendominasi atau sama dengan proses ini , dan
braket akses harus mengizinkan akses menulis cincin saat ini (r <r1).
Permintaan mengeksekusi ditangani sama, kecuali braket panggilan
digunakan sebagai pengganti braket akses, dan permintaan dapat
mengakibatkan transisi domain perlindungan. Proses harus
mengeksekusi ijin di segmen ACL, kebijakan MLS harus mengizinkan
membaca segmen, dan braket panggilan harus mengizinkan eksekusi.
15. MULTICS reference
monitor
Multics referensi monitor dilaksanakan oleh supervisor. Setiap
instruksi Multics baik mengakses segmen melalui direktori atau
melalui SDW, sehingga otorisasi dilakukan pada setiap
instruksi. Awalnya, supervisor melakukan otorisasi tersebut, tapi
akhirnya ekstensi hardware diaktifkan otorisasi yang paling
SDW yang akan dilakukan langsung oleh perangkat
keras, seperti sekarang kita terbiasa. Supervisor kemudian
menjadi bertanggung jawab untuk menyiapkan segmen
deskriptor proses dan mencegah proses dari modifikasi.
Sementara fungsi Supervisor diimplementasikan dalam cincin 0
dan 1, layanan referensi monitor semua di ring 0. Sebagai
contoh, sistem file utilitas pencarian telah dipindahkan ke cincin
1, sehingga penentuan direktori atau segmen dari nama
dilakukan di sana, tapi otorisasi apakah akses ini diperbolehkan
dilakukan dalam Supervisor ring 0. Artinya, kode di ring 1
berjalan karena proses pengguna,.
16. Keamanan MULTIC
kita akan membahas bagaimana implementasi
dapat menyebabkan pelanggaran
keamanan, bahkan dalam sistem yang
dirancang dengan baik.
Complete Mediation : Bagaimana interface
referensi monitor memastikan bahwa semua operasi
keamanan sensitif dimediasi dengan benar?
○ Sejak Multics mensyaratkan bahwa setiap instruksi
mengakses segmen dan setiap segmen dimediasi
accessis, Multics menyediakan mediasi lengkap pada
tingkat segmen. Dengan demikian, persyaratan
keamanan semua yang dapat secara efektif dinyatakan
dalam segmen dapat dimediasi Multics.
17. Cont...
Tamperproof : Bagaimana sistem
melindungi referensi monitor, termasuk
perlindungan sistem, dari modifikasi?
○ Multics referensi monitor dilaksanakan oleh
cincin 0 prosedur. Prosedur ring 0 dilindungi
oleh kombinasi dari isolasi ring proteksi dan
sistem-didefinisikan kebijakan cincin braket.
Kebijakan braket cincin mencegah proses luar
ring 0 dari membaca atau menulis kode
referensi monitor atau negara secara
langsung
18. Cont...
Verifiable: Apakah sistem perlindungan
menegakkan tujuan keamanan sistem?
○ Memverifikasi bahwa tujuan keamanan sistem
ditegakkan dengan benar melibatkan memastikan
bahwa kebijakan tersebut: (1) melindungi
kerahasiaan dan integritas sistem dan data
pengguna oleh negara perlindungan, (2)
memberikan subjek dan objek ke label kebijakan
dengan benar oleh negara pelabelan , dan (3)
memastikan bahwa transisi perlindungan domain
semua melindungi kerahasiaan dan integritas
sistem dan data pengguna berdasarkan keadaan
transisi didefinisikan oleh aturan panggilan braket.
19. Analisis Kerentanan
MULTIC
Pertama, kerentanan hardware ditemukan bahwa akan
memungkinkan mengeksekusi instruksi untuk memotong
pemeriksaan akses menggunakan SDW tersebut. Artinya,
mediasi lengkap bisa dielakkan karena kerentanan ini.
Rincian kerentanan membutuhkan pengetahuan yang
lebih dalam Multics menangani daripada kita berikan,
tetapi masalah mendasar adalah bahwa hardware
Honeywell tidak memeriksa akses SDW jika segmen
dicapai oleh format khusus menangani langsung
Kedua, berbagai kerentanan perangkat lunak dilaporkan
oleh Karger dan Schell. Salah satu kerentanan yang lebih
signifikan adalah kesalahan yang disebabkan oleh
penyalahgunaan mode pengawas eksekusi, yang disebut
modus master. Modus Master adalah sebuah eksekusi
state yang memungkinkan instruksi prosesor yang akan
dieksekusi di ring saat ini
20. Kesimpulan
Desainer Multics adalah yang pertama untuk
mengatasi tantangan untuk membangun sebuah
sistem operasi yang memungkinkan penegakan
hukum yang komprehensif kerahasiaan praktis dan
persyaratan integritas. Tantangan ini hanya salah
satu dari beberapa yang dihadapkan , seperti Multics
juga salah satu yang pertama,
Sebagai analisis keamanan, desain Multics ditujukan
banyak aspek membangun sistem operasi yang
aman, termasuk mendefinisikan monitor referensi
untuk menegakkan kebijakan kerahasiaan wajib dan
mengembangkan model ring proteksi untuk
melindungi integritas dari kode dipercaya, di antara
beberapa inovasi.