Minggu, 14 Juni 2015

SECURITY

Security dalam OS

adalah hal-hal yg mencakup keamanan didalam suatu OS.


Syarat-syarat adanya keamanan :

  • Confidentiality : suatu komputer hanya dapat diakses oleh orang yang memiliki autorisasi
  • Integrity : hanya orang yg memiliki autorisasi yg dapat mengakses datanya
  • Availability : ketersediaan dari data agar dapat diakses oleh orang
  • Authenticity : sistem komputer yg berfungsi untuk memastikan identitas dari user yg mengakses

Tujuan dari adanya security adalah :

  1. data confidentiality
  2. data integrity
  3. system availability

Tipe-tipe Threat :

  • Alur normal, seharusnya jalur komunikasi yg aman adalah seperti gambar (a). Gambar (a) menunjukkan bahwa jalur dari sumber informasi ke tujuan informasi harusnya tidak terdapat ancaman yg mengganggu.

  • Interruption
    tipe ancaman yg pertama adalah gambar (b) interruption. Pada gambar (b) jalur komunikasi antara sumber dan tujuan ditutup / diputus oleh orang yg tidak terautorisasi, biasanya menyerang availability dari sistem tersebut.
  • Interception
    tipe ancaman yg kedua adalah gambar (c) interception. Pada gambar (c) jalur komunikasi antara sumber dan tujuan terlihat aman, namu ada pihak-pihak yg tidak terautorisasi dapat mengakses informasi tersebut, biasanya menyerang confidentiality dari data tersebut.
  • Modification
    tipe ancaman yg ketiga adalah gambar (d) modification. Pada gambar (d) jalur komunikasi antara sumber dan tujuan seolah-olah terlihat aman, namun ada pihak-pihak yg tidak terautorisasi mengambil datanya terlebih dahulu, lalu mengubah datanya, setelah itu baru dikirim ke tujuannya. Biasanya menyerang integrity dari data tersebut
  • Fabrication
    tipe ancaman yg keempat adalah gambar (e) fabrication. Pada gambar (e) jalur komunikasi antara sumber dan tujuan belum dibuat, namun ada pihak-pihak tidak terautorisasi yg mengirimkan suatu data seolah-olah seperti kiriman dari sumber informasi. Isi dari data tersebut dapat berupa program kecil untuk menyusup, biasanya menyerang authenticity dari sistem tersebut.

Intruders

Kategori dari intruders adalah :
  1. menyerang orang yg tidak memiliki pengetahuan tentang sistem komputer
  2. menyadap komunikasi orang-orang dalam
  3. berpikir untuk mencuri uang
  4. menyerang keamanan umum dan militer

Kehilangan Data, sering disebabkan oleh :
  • Acts of God, kehilangan yg terjadi karena adanya bencana alam, dan segala hal yg tidak dapat diprediksi oleh manusia
  • Hardware / software errors, kehilangan yg terjadi karena adanya error yg terjadi pada hardware maupun software
  • Human error, kehilangan yg disebabkan karena kesalahan yg dilakukan oleh manusia, seperti salah memasukkan data

Aset dari sistem komputer

Aset dari sistem komputer dibagi menjadi :
  1. Hardware
  2. Software
  3. Data
  4. Jalur komunikasi dan jaringan

Intrusion Detection

Cara mendeteksi adanya intruders :
  • Statistical anomaly detection, adalah mendeteksi adanya keanehan dalam suatu data secara statistik. Contohnya : orang A biasa mengambil uang di atm sebesar 1 juta, tiba-tiba pada suatu hari orang A mengambil uang 3 juta. Oleh karena itu perlu dipertanyakan kejelasannya.
  • Rule-based detection, adalah mendeteksi adanya ketidakselarasan antara aturan yg dibuat. Contoh : orang B bekerja di perusahaan XYZ dengan peraturan setiap jam 8 pagi-4 sore untuk login akunnya. Tiba-tiba pada suatu hari orang B login di jam 5 sore, karena adanya ketidakselarasan dengan aturan yg telah dibuat maka harus dipertanyakan juga.
  • Audit record, adalah mendeteksi adanya keanehan dengan cara mengumpulkan semua data-data lalu di cek satu persatu.

Authentication

Authentication dalam OS sangat dibutuhkan untuk mendeteksi :
  1. sesuatu yg user ketahui
  2. sesuatu yg dimiliki user
  3. siapakah user tersebut

Countermeasure

Countermeasure adalah pencegahan agar orang lain tidak masuk ke dalam sistem kita secara sembarangan. Caranya adalah dengan :
  • membatasi orang yg dapat login
  • batasan untuk mencoba login
  • suatu database yg berisi orang-orang yg telah login

Attack from Inside

Penyerangan dari dalam dapat terjadi di sistem komputer kita. Yang biasanya terjadi dalam penyerangan tersebut adalah : 
  1. Trojan horse
    adalah suatu program bebas yg dibuat sebagai pintu masuk malicious software, bisa juga virus.
  2. Login spoofing
    adalah suatu program yg dibuat sama persis dengan program aslinya, yang berfungsi untuk mengambil sesuatu yg penting didalamnya. Contoh : program untuk login, fungsinya adalah untuk mengambil username dan password orang tersebut.
  3. Logic bomb
  4. Trapdoor / Backdoor
    adalah suatu program yg berfungsi bagi pemilik program yg asli untuk bisa masuk ke dalam program yg telah ia buat sendiri namun di hack.
  5. Buffer overflow

Virus, adalah suatu program yg dapat menginfeksi program lain dengan cara memodifikasinya.
Worm, adalah suatu aplikasi yg semakin dibelah akan semakin banyak.
Zombie, adalah suatu program yg secara diam-diam mengambil alih komputer lain.

Tahap-tahap virus dibagi menjadi 4 :
  1. Fase dormant, adalah fase dimana virus masih dalam keadaan tidak aktif
  2. Fase propagation, adalah fase dimana virus mulai menyebar / memperbanyak diri ke dalam area sistem
  3. Fase triggering, adalah fase dimana virus mulai aktif untuk menjalankan fungsi mereka / mulai menyerang
  4. Fase execution, adalah fase dimana fungsinya mulai berkembang

Pendekatan antivirus ada 3 : detection, identification, dan removal.


Semoga bermanfaat ! ^^

Kamis, 04 Juni 2015

EMBEDDED SYSTEM

Embedded System

Embedded system adalah suatu kombinasi dari hardware dan software yg didesain untuk menjalankan suatu fungsi tertentu.
Contoh dari embedded system adalah microprocessor yg mengontrol mesin automobile.



Karakteristik dari embedded system adalah :
  • Real time operation : suatu operasi yg pada waktu itu juga akan dilakukan secara langsung
  • Reactive operation : suatu operasi yg akan berjalan jika di picu dengan tindakan lainnya dulu
  • Configurability : karena variasi dari embedded system sangat banyak, maka untuk menyesuaikan kebutuhan dapat dikonfigurasi secara kualitatif dan kuantitatif
  • I/O device flexibility : fleksibilitas antara segala macam alat input dan output
  • Streamlined protection mechanism : embedded system didesain secara terbatas dengan fungsi yg didefinisikan dengan baik
  • Direct use of interrupts : embedded system dapat diinterupsi oleh proses lain yg lebih penting


Embedded System Vs. Traditional System

Kelebihan embedded system daripada traditional system :
  1. embedded system tidak harus dikodekan secara urut
  2. dapat diinterupsi oleh sebelum proses itu selesai
  3. banyak bagian dari sistem dapat berjalan secara bersamaan dalam waktu yg sama juga
  4. dapat menjaga komponen-komponen yg penting pada banyak sistem

Cara membuat embedded system :
  1. tentukan hardware apa yg digunakan
  2. harus menentukan juga software yg cocok untuk hardware tadi
  3. tentukan juga tugas yg spesifik untuk jangka waktu yg panjang
  4. bisa menggunakan konsep obeject-oriented
  5. jangan membuat fungsi yg sudah ada

2 contoh dari embedded system adalah : TinyOS dan eCos(embedded configurable operating system).


Komponen eCos 

Komponen dalam eCos :
  • HAL (hardware abstraction layer) adalah sebuah software yg menyediakan API kepada upper layers dan peta / gambaran kepada upper layers terhadap platform hardware.
  • eCos kernel, mempunyai tujuan :
    • low interupt latency
    • low task switching latency
    • small memory footprint
    • deterministic behaviour
eCos Scheduler, dibagi menjadi 2 :
  1. Bitmap scheduler, membantu level-level prioritas, tapi hanya 1 thread yg dapat diproses dalam waktu yg sama
  2. Multilevel Queue Scheduler, mengijinkan banyak thread yg terdapat pada level prioritas, terbatas hanya oleh sumber data

Semoga bermanfaat ! ^^

MULTI PROCESSOR

Multicore Computer

Multicore computer adalah suatu CPU dengan lebih dari 1 core. Core itu beroperasi sebagai prosesor yg memiliki single chip. Multicore sendiri juga berguna untuk meningkatkan performa komputer itu sendiri.


Multiprocessor

Multiprocessor adalah suatu komputer yg memiliki banyak CPU dan memiliki banyak prosesor. Kebanyakan multiprocessor mengkombinasikan 2 teknologi, yaitu multicore dan multiprocessor.


Multicore vs. Multiprocessor

  • Saves energy
    komputer yg menggunakan multicore cenderung lebih hemat energi / hemat penggunaan listrik daripada menggunakan multiprocessor, karena multiprocessor menggunakan CPU sendiri-sendiri sehingga membutuhkan lebih banyak daya listrik untuk menghidupkannya.
  • Saves space
    komputer yg menggunakan multicore juga cenderung lebih hemat tempat penyimpanan. Karena jarak dari multicore itu lebih dekat dibanding dengan multiprocessor.
  • Performance
    komputer yg menggunakan multiprocessor akan lebih cepat untuk menghandle segala request yg diberikan, sehingga menyebabkan performanya lebih baik daripada multicore.



Gambar (a) merupakan gambar dari banyak CPU, yg berarti juga mempunyai banyak prosesor. Gambar (b) merupakan gambar dari banyak CPU yg mempunyai banyak prosesor dan mempunyai tempat penyimpanannya sendiri, tapi juga bisa memiliki tempat penyimpanan yg tergabung. Gambar (c) merupakan gambar dari CPU yg mempunyai tempat penyimpanan sendiri dan semua CPU itu terhubung ke dalam jaringan internet.


UMA Multiprocessor with Bus-Based Architecture


Ada 3 jalur bus dalam multiprocessor, yaitu gambar (a) merupakan gambar tanpa caching, adalah beberapa CPU yg terhubung dalam bus / jalur yg sama dan mempunyai memori / tempat penyimpanan yg sama, sehingga untuk mengaksesnya harus memastikan kalau tidak ada CPU lain yg sedang mengakses memori tersebut; gambar (b) merupakan gambar yg menggunakan caching, adalah beberapa CPU yg terhubung dalam bus / jalur yg sama mempunyai tempat penyimpanan sementara (cache) sehingga untuk mengakses memori utama tidak terlalu penuh; gambar (c) merupakan gamabr yg menggunakan caching dan mempunyai tempat penyimpanan sendiri, yaitu CPU yg terhubung dalam bus / jalur yg sama dan mempunyai tempat penyimpanan memori sementara serta memiliki tempat penyimpanan untuk dirinya sendiri.


Multiprocessor Architecture

Sistem multiprocessor berdasarkan tujuan CPU dan memorinya dibagi menjadi 3 :
  1. Uniform Memory Access (UMA)
    Disebut juga dengan Symmetrical Multiprocessor (SMP). UMA ini adalah suatu arsitektur yg mengakses memori dengan cara yg sama / seragam.
  2. Nonuniform Memory Access (NUMA)
    NUMA adalah sebuah arsitektur yg mengakses memorinya secara berbeda-beda.
  3. Non remote Memory Access (NORMA)
    Disebut juga dengan distributed system

SMP Architecture

SMP adalah kepanjangan dari Symmetrical Multiprocessor, arsitekturnya terdiri dari sebuah bus yg menghubungkan ke suatu jaringan. SMP sendiri hanya bisa memproses 1 percakapan dalam waktu yg sama, dan proses-proses yg lainnya di tunda untuk diproses dulu. Kelemahannya adalah CPU tidak dapat diprediksi waktunya dalam mengakses suatu isi dari memori, dan mungkin saja jalur yg digunakan mengalami masalah traffic data.


Kernel Structure

Kernel dalam sebuah multiprocessor disebut juga dengan SMP Kernel. Fungsi kernel adalah untuk mengeksekusi kode-kode yg diberikan dari user dan dapat dilakukan secara paralel. CPU bekerja dengan saling tersinkronisasi dan juga dapat diinterupsi prosesnya.


NUMA Kernel

CPU yg menggunakan arsitektur NUMA mempunyai waktu akses memori yg berbeda-beda. Setiap node dalam arsitektur NUMA mempunyai kernel yg terpisah, sehingga setiap prosesnya dapat diatur dalam alamat memori.


UMA dan NUMA

Persamaan : single memory space, dan juga ada pitfall (pitfall adalah perbedaan antara shared memori dan distributed memori)

Perbedaan : waktu akses memorinya berbeda-beda, jumlah dari prosesor juga berbeda, dan jalur serta pengimplementasian jaringannya digunakan juga berbeda.


NUMA processor

Karakteristik dari NUMA prosesor adalah :
  • adanya single address space yg terlihat bagi seluruh CPU
  • waktu akses ke remote memory menggunakan instruksi LOAD dan STORE
  • waktu akses ke remote memory lebih lambat daripada waktu akses ke lokal memori

Mempunyai multiprocessor yg banyak, itu berarti juga mempunyai banyak CPU, oleh karena itu masing-masing dari CPU tersebut bisa diinstal operating system (OS) yg berbeda-beda juga.


Klasifikasi dari System Parallel

Paralel sistem dapat diklasifikasikan sebagai berikut :
  • SISD (Single Instruction Single Data) 
  • MISD (Multiple Instruction Single Data)
  • SIMD (Single Instruction Multiple Data)
  • MIMD (Multiple Instruction Multiple Data)

Sifat multiprocessor :
  1. Sinkronisasi, yg berarti dapat saling terhubung dan saling memperbarui isi data sehingga tidak ada data yg hilang dan menjadi data yg memiliki integritas. Untuk mengubah suatu data maka diperlukan key, jika hanya membaca maka tidak membutuhkan key.
  2. Time sharing, yg berarti menggunakan struktur data utama untuk mengatur jalannya dari multiprosesor.
  3. Space sharing, yg berarti banyak CPU yg terhubung untuk saling membagikan memori penyimpanannya bagi CPU yg membutuhkan tempat penyimpanan.

Gang Scheduling

Didalam Gang Scheduling ada 3 bagian :
  • kumpulan dari thread yg dijadwalkan / diatur sebagai suatu unit.
  • semua member dijalankan secara simultan pada waktu CPU yg berbeda-beda.
  • semua member memulai dan mengakhiri waktu proses mereka secara bersamaan juga.


Semoga bermanfaat ! ^^