Rabu, 03 Juni 2015

Security

Security Requirement

  • Confidentiality : informasi yang tersedia dalam komputer hanya dapat diakses oleh yang memiliki autorisasi
  • Integrity : bicara mengenai data. Asset hanya dapat dimodifikasi oleh pihak yang memiliki autorisasi
  • Availability : Asset tersedia bagi pihak yang memiliki autorisasi
  • Autenticity : Memastikan bahwa komputer dapat memferifikasi identitas pengguna

Security Environment

GOAL
  • Data confidentiality (bagaimana agar datanya aman)
  • Data integrity (memantikan datanya tetap tidak diubah-ubah)
  • System Availability (ketersediaan sistem)
THREAT
  • Exposure of data (penjagaan data agar aman)
  • Tampering with data 
  • Denial of service (DOS)

Types of Threats

Interruption
  • Suatu asset dari system dihancurkan
  • Menghancurkan hardware, misal meledakan komputer, namun hal ini jarang dilakukan
  • Memutus sambungan komunikasi, menggubah IP supaya komputer tidak dapat menyambung ke internet
  • Tidak mengaktifkan system manajemen file
  • Ada data sebelum sampai ke tempat tujuan diberhentikan


Interception
  • Menyerang pada confidentiality
  • Contohnya seperti kartu ATM diambil datanya dan pesan rahasia

Modification
  • Intercept namun diubah
  • Menyerang pada integrity data
  • Suatu data diubah isinya sebelum sampai pada tempat tujuannya

Fabrication
  • Menyerang authenticity 
  • Ada penambahan file
  • Jalan ke autorosasi, dimasukkan satu objek real

Intruders - yang melakukan penyerangan

Kategori :
  1. Targetnya adalah user yang tidah paham tentang komputer
  2. Pengguna yang masuk kedalam, gerak-geriknya dipelajari
  3. Usahanya dalam mengambil uang
  4. Dijadikan untuk mata-mata

Accidental Data Loss

Penyebab data-data dapat hilang :
  1. Takdir dari Tuhan, misal bencana alam, kebakaran, perang, dll
  2. Perangkat keras atau perangkat lunak yang rusak atau bermasalah
  3. Kesalahan manusia, misal salah dalam memasukkakn data, dll

Protection Mechanism

  • Protection domain


domain dengan proses yang sama dan RWX sama digabungkan

  • Protection Matrix


  • Protection Matrix with domains as object

Computer System Assets

  • Hardware (perangkat keras). Threats termasuk kerusakan fisik
  • Software (perangkat lunak). Threats termasuk hapus, modifikasi data, kerusakan data. Backup versi yang paling baru dapat menjaga keamanan dan ketersediaan data
  • Data. Termasuk fille-file. Keamanannya konsentrasi pada ketersediaan, kerahasiaan, dan keaslian data nya
  • Communication lines and Network. Misal ketika kita sedang menggunakan wifi, saat kita sedang membuka email, orang lain dapat masuk dan menyadap data kita

Password Selection Strategies

  • Komputer yang membuat password : pengguna akan mengalami kesulitan untuk mengingatnya, sehingga harus ditulis.
  • Strategi pengecekan password yang reaktif : secara periodik, sistem akan menjalankan pengecek password untuk menemukan password yang dapat dengan mudah ditebak.

Intrusion Detection

  • Statistical anomaly detection : lebih otomatis
  • Rule-based detection : pakai aturan atau pattern
  • Audit record

Authentication

Prinsip dasar nya :
- Sesuatu yang diketahui oleh pengguna
- Sesuatu yang dimiliki pengguna
- Sesuatu yang merupakan pengguna

Countermeasures (pencegahan agar orang tidak masuk sembarangan)

  • Memberikan batas waktu pada saat sedang log in. Misalkan pada saat user salah memasukkan password, menunggu 10 menit baru bisa mengisi lagi.
  • Setelah beberapa waktu, keluar callback. Misal pada saat tidak bisa log in, system memberikan huruf untuk diketik.
  • Memberikan batasan waktu pada saat mencoba log in. Tidak mengijinkan jika log in sering salah. Misal tiga kali salah log in akan di block.
  • Log in nya disimpan dalam database, siapa yang log in terakhir.
  • Log in nama atau password yang sederhana sebagai sebuah jebakan.

Attack from the inside (serangan dari dalam)

  • Trojan Horse -> bisa membuat log in yang sama persis (kode tersembunyi dan fungsi yang tidak diinginkan)
  • Program gratis dibuat untuk membuat user tidak curiga
  • Menempatkan program utility yang telah diubah ke dalam komputer korban
  • Login spoofing
  • Login bomb (Misal membuat suatu software dimana software ini tidak boleh di copy. Ketika salah memasukkan password selama tiga kali maka program akan terhapus)
  • Trap door (Dengan trap door, program yang kita buat dicuri oleh orang lain kita bisa masuk lagi)
  • Buffer overflow (situasi dimana kita membuat overflow)

Viruses : suatu program yang menginfeksi program lain dengan cara memodifikasinya. virus menginjeksi pada inangnya.
Worms : menggunakan jaringan internet untuk menyebarkan dari system ke system.
Zombie : program yang secara diam diam mengambil alih komputer lain yang sedang terpasang internet.

Virus Stages

  • Dormant phase : dimana virus tidak benar-benar mati
  • Propagation phase : memperbanyak diri
  • Triggering phase : virus diaktifkan untuk menjalankan suatu fungsi tertentu
  • Execution phase : fungsi dijalankan










Senin, 01 Juni 2015

Embedded System


Embedded System

     - Suatu kombinasi dari perangkat keras dan perangkat lunak komputer, dan didesain untuk menjalankan suatu fungsi tertentu.
     - Dalam banyak kasus, embedded system merupakan bagian dari sistem atau produk yang lebih besar, seperti pada kasus kunci otomatis pada mmobil.


Berikut adalah contoh-contoh penerapan embedded system di segala aspek :


Characteristics Embedded System :

  • Real-time operation : Kondisi pengoperasian dari suatu sistem perangkat keras atau perangkat lunak dibatasi oleh rentang waktu dan tenggal waktu yang jelas, relatif terhadap waktu suatu peristiwan atau operasi terjadi.
  • Reactive operation : Perangkat embedded akan mengeksekusi duatu respon pada kejadian external. Ketika kejadian ini tidak terjadi secara periodik atau pada interval yang dapat diprediksi,  perangkat embedded membutuhkan kondisi worst-case untuk mengatur mana rutin yang eksekusinya harus diprioritaskan. Misalkan ada halangan didepan mobil, mobil bisa langsung menghindari halangan tersebut.
  • Configurability : Karena embedded system sangat bermacam-macam, maka ada kebutuhan yang banyak juga. Bisa diotak atik
  • I/O device flexibility : Tidak terdapat perangkat secara virtual yang perlu didukung oleh semua versi Operating System. Dan range perangkat I/O sangat luas.
  • Streamlined protection mechanisms : Embedded system dibuat untuk suatu batasan dan fungsi yang terdefinisi dengan baik. Hal ini untuk menjaga keamanan nya.
  • Direct use of interrupts : Tujuan umum Operating System adalah tidak mengijinkan banyak pengguna mengakses untuk menggunakan interrupt secara langsung.

Embedded System Development vs Traditional System Development

  1. Koding nya tidak harus dari atas ke bawah (sequential)
  2. Dapat berhenti kapan saja
  3. Banyak bagian dari sistem yang mungkin saja berjalan bersamaan

Embedded System Development

  • Decide dalam perangkat keras
  • Memastikan bahwa perangkat lunak yang ada sesuai dengan perangkat keras nya
  • Menjaga proses desain nya untuk jangka waktu yang panjang
  • Bisa share object
  • Jangan membuat suatu hal yang sudah pernah ada
Suatu jumlah yang signifikan dari operating system telah didesain dari ground up untuk embedded application. Contohnya adalah eCos dan TinyOS.

Specialized Embedded Operating System

- Kerjanya lebih cepat sehingga efisien.
- Kebijakan penjadwalannya real-time. Tidak ada delay
- Ukurannya kecil karena spesifik. Yang tidak dibutuhkan akan dibuang
- Respons pada interupsi eksternal lebih cepat
- Interval minimal
- Ukurannya pasti
- Bisa lock / frezee real-time
- Menjaga real-time clock

eCos (Embedded Connfigurable Operating System)
- Open source, royalty free, real time OS untuk embedded application.

Configurability

     Alat konfigurasi eCos yang berjalan di Windows atau Linux digunakan untuk mengkonfigurasi suatu package eCos untuk jalan pada target embedded system. Package eCos distrukturkan secara hirarkikal.


eCos Component

     HAL (Hardware Abstraction Layer) : merupakan suatu perangkat lunak yang menampilkan sebuat API yang konsisten untuk layer yang lebih atas menjadi platform perangkat keras yang spesifik.
     eCos kernel didesain untuk memenuhi beberapa tujuan, yaitu : 
  • Low interrupt latency : waktu yang dibutuhkan untuk merespon suatu interrupt dan memulai mengeksekusi ISR.
  • Low task switching latency : waktu yang dibutuhkan dari kapan thread tersedia sampai kapan eksekusi aktual dimulai.
  • Small memory footprint : sumber memori untuk program dan data dijaga dengan memperbolehkan semua komponen untuk mengkonfigurasi memori yang dibutuhkan.
  • Deterministic behavior : throughput semua aspek eksekusi. Performa kernel harus dapat diprediksi dan memenuhi kebutuhan real-time.

eCos Scheduler

  • Bitmap Scheduler : mendukung level prioritas yang banyak, namun hanya satu thread bisa exist pada setiap level prioritas pada waktu yang telah diberikan.
  • Multilevel Queue Scheduler : mendukung sampai 32 level prioritas. Mengijinkan multiple thread yang aktif pada setiap level prioritas, dibatasi hanya oleh sumber-sumber sistem. 





 

Multi Processor

Multiprocessor : Banyak processor
Multithreading : Banyak thread
Multicore : Banyak core. (CPU dengan lebih dari 1 core)

MULTICORE COMPUTERS

  • CPU dengan lebih dari 1 core. Dalam 1 chip bisa banyak core (2^n)
  • Core-core beroperasi sebagai processor yang terpisah dalam sebuah chip tunggal
  • Performa lebih baik tanpa kecepatan tinggi
MULTIPROCESSOR
  • Memiliki lebih dari 1 CPU
  • Beberapa mesin mengombinasikan dua teknologi, multicore dan multiprocessor
MULTICORE vs MULTIPROCESSOR

Multicore Computer
  • Memiliki energi yang lebih efisien dibandingkan dengan multiple CPU
  • Multi-core chips jarak space yang lebih sedikit sehingga lebih hemat space. Karena chip-chip digabungkan di satu tempat.
Multiprocessor Computer
  • Lebih boros energi. Ada banyak copy an dengan circuit yang sama. Karena makin bnayka circuit nya maka akan banyak huambatan listrik sehingga akan boros listrik.
  • Performa lebih baik karena dapat menangani proses lebih baik dari multicore system.


                                          (a) A shared-memory multiprocessor
                                          (b) A message-passing multicomputer
                                          (c) A wide area distributed system

UMA Multiprocessors with Bus-Based Architectures
UMA = Uniform Memory Acess (Akses memorynya seragam). Sebelumnya disebut tightly coupled multiprocessor. Disebut juga Symmetrical multiprocessor (SMP).
  • Without caching (Langsung sampai ketempat tujuan tanpa adanya delay)

  • With caching (Ditahan dulu sebelulm sampai ketempat tujuan)
  • With caching and private memories (Ditahan dulu dan memory nya dipisah)
Kalau data mau bisa diakses banyak orang, pakai yang shared atau yang private.


SMP Architecture / UMA

     Menggunakan suatu jalur untuk berhubungan dengan network. Hanya satu conversation yang dapat berjalan dalam suatu waktu, conversstion lain akan didelay dan antrian tidak dapat diprediksi. Bus / jalur nya dapat disebut sebagai bottleneck (leher botol) dimana semakin banyak conversation yang mengantri keluar nya akan satu per satu, dan ini akan memakan waktu yang cuukup lama.


Hal ini merupakan salah satu kelemahan dari Uniform Memory Access


Kernel Structure

     Kernel dari sebuah multiprocessor OS disebut dengan SMP kernel. Beberapa CPU dapat mengeksekusi code di kernel dan banyak CPU dapat melakukannya secara parallel.
Struktur kernel ini sedikit rumit karena kita harus mengetahui bagaimana kernel bisa mengakses segala hardware yang ada.



NUMA Architecture
NUMA : Non Uniform Memory Access (Akses memori nya tidak seragam). Bisa di otak atik supaya lebih cepat karena akses memori nya tidak seragam.




NUMA Kernel

     CPUs di sistem NUMA memiliki waktu akses memori yang berbeda antara lokal dan nonlokal memori. Setiap node di sistem NUMA memiliki kernel terpisah masing-masing.

UMA vs NUMA 

     Persamaan :
  • Single memory space
  • pitfall : membandingkan antara shared memory dan distributed memory
     Perbedaan :
  • Waktu akses. Numa lebih cepat
  • Jumlah processor
  • Bus vs network implementation
NUMA Processors, karakteristik NUMA :
  1. Terdapat space alamat tunggal ynag terlihat pada semua CPU
  2. Akses ke remote memory melalui instruksi LOAD dan STORE
  3. Akses ke remote memory lebih lambat daripada akses ke memory lokal
Classification of parallel system
  • SISD (Single Instruction Single Data) - Uniprocessor (1 processor)
  • MISD (Multiple Instruction Single Data) - Stream based processing
  • SIMD (Single Instruction Multiple Data = DLP)
  • MIMD (Multiple Instruction Multiple Data)
Time Sharing, bagaimana caranya supaya proses data tidak bertabrakan

GANG SCHEDULING
  1. Sekumpulan thread yang berhubungan dijadwalkan sebagai unit, sebuah gang/kelompok.
  2. Semua anggota gang berjalan secara simultan, pada timeshared CPU yang berbeda.
  3. Semua anggota gang memulai dan mengakhiri time slice nya secara bersamaan.



Senin, 25 Mei 2015

Menjawab pertanyaan mengenai CD-RW

     Compact Disk atau biasa disebut CD adalah media storage yang cukup banyak digunakan oleh masyarakat. Compact Disk mempunyai beberapa tipe,diantaranya adalah CD-R, dan CD-RW, serta pemutar / alat untuk memunculkan data yang ada dalam Compact Disk yaitu CD-ROM.

Yang akan saya bahas disini adalah CD-RW sesuai dengan pertanyaan yang ditanyakan pada saya.

Apakah pengertian dari CD-RW?



     CD-RW yang merupakan pengembangan dari CD-R, sebenarnya dari bentuk sama dengan CD-R hanya sedikit berbeda dalam kegunaan dalam hal penyimpanan data. Perbedaanya adalah CD-RW ( Compact Disk Recordable and reWriteable ) berbahan CD-RW menggunakan logam perpaduan antara perak, indium, antimon, dan telurrium untuk lapisan perekaman dan dapat diubah datanya berkali - kali, dapat di tambah, diganti atau dihapus sewaktu - waktu.

     Kandar CD-RW menggunakan laser dengan tiga daya yang berbeda. Pada daya yang tinggi, laser melelehkan logam paduan, yang mengubahnya dari kondisi kristalin reflektivitas tinggi menjadi kondisi amorf refletivitas agar menyerupai sebuah pit. Pada daya sedang, logam paduan meleleh dan berubah kembali dalam kondisi kristalin alamiahnya untuk menjadi land lagi. Pada daya rendah, keadaan/kondisi material ditelaah (untuk pembacaan), tetapi tidak ada transisi fase yang terjadi. Cakram CD-RW relatif lebih mahal dibandingkan cakram CD-R.

Berapakah kapasitas maksimum CD-RW?

     CD-RW memiliki kapasitas maksimal untuk menyimpan data yaitu 700 mb.




Jumat, 08 Mei 2015

Memory Management


  • Pengelompokan memori untuk menampung beberapa proses
  • Memori perlu dialokasikan secara efisien untuk mengemas sebanyak mungkin proses kedalam memori
Memory Management Requirements
1. Relocation : programmer tidak tahu program akan ditempatkan dimemori yang mana. Selama program dieksekusi mungkin saja lokasinya berbeda-beda.


2. Protection : proses tidak bisa menempati lokasi memori proses lain tanpa ijin.


3. Sharing : memperbolehkan beberapa proses akses porsi memori yang sama.
4. Logical Organization : setiap modul dapat ditulis dan dijalankan secara independent.
5. Physical Organization : modul bermacam-macam namun dalam satu region memori.


Addressing
  • Logical : Mereferensi pada suatu lokasi memori yang independen dari tugas akhir data ke memori. (alamat assignment dari datanya).
  • Relative : Alamat diekspresikan sebagai suatu lokasi yang relatif pada beberapa poin yang diketahui.
  • Physical : Alamat sebenarnya atau lokasi aktual pada memori utama.
Memory allocation algorithm
  1. First fit : Cari yang pertama. Langsung lihat yang paling depan, lihat yang pas.
  2. Next fit : Cari setelahnya
  3. Best fit : Cari yang terbaik. lubang terkecil. Memilih blok yang ukurannya paling dekat dengan yang diminta.
  4. Worst fit : Cari yang terburuk, lubang terbesar
  5. Quick fit : Cari yang paling cepat
  6. Buddy system : Cari menggunakan rumus

Deadlock

Deadlock : Banyak proses yang merebutkan resource yang sama

Deadlock Prevention
- Bisa saling block dan sifatnya permanen
- Tidak ada solusi efisien
- Melibatkan kebutuhan yang bertentangan untuk sumber daya dengan dua atau lebih proses





Condition for Resource Deadlock

  1. Mutual exclusion : Hanya ada 1 proses yang bisa memakai 1 resource
  2. Hold and wait : Proses A sedang mengambil 1 resource, ditahan dan ambil proses lain
  3. No preemption : Tidak bisa di interupsi / dipotong
  4. Circular wait : Proses 1 menunggu proses 2, proses 2 menunggu proses 3, proses 3 menunggu proses 1

     (a) Resource R sedang dipegang oleh proses A
     (b) Proses B meminta resource S
     (c) Resource T dipegang proses D, D merequest U, U dipegang C, C merequest T

Cara Pencegahan Deadlock
  • Mutual exclution : multiple akses untuk read, write hanya yang exclusive
  • Hold and Wait : blocking system, blok proses lain
  • No-preemption : pakai task manager
  • Circular wait : di blok
Strategy dealing with Deadlock
  • Abaikan saja, tapi hal ini merupakan bahaya
  • Deteksi dan pemulihan
  • Penghindaran dinamis oleh alokasi resource secara hati hati
  • Pencegahan
Deadlock Avoidance
  • Model yang paling sederhana dan paling berguna mengharuskan tiap proses menyatakan jumlah maksimum resource dari setiap tipe yang mungkin dibutuhkan
  • Algoritma penghindaran deadlock secara dinamis memeriksa state alokasi resource untuk memastikan bahwa tidak akan pernah terjadi keadaan circular-wait
  • State alokasi resource didefinisikan dengan jumlah resource yang tersedia dan teralokasi, dan tuntutan maksimum proses
Starvation
  • Algoritma untuk mengalokasikan sebuah resource
  • Bekerja dengan baik pada beberapa pekerjaan singkat di sebuah system
  • Mungkin saja mengakibatkan pekerjaan panjang untuk ditunda tanpa batas waktu


Concurrency


  1.  Multiple applications : Multiprogramming diciptakan untuk memungkinkan waktu proses untuk secara dinamis dibagi di antara sejumlah aplikasi yang aktif.
  2. Structured applications : Sebagai perpanjangan dari prinsip-prinsip desain modular dan pemrograman terstruktur , beberapa aplikasi dapat diprogram secara efektif sebagai serangkaian proses konkuren.
  3. Operating system structure : keuntungan penataan yang sama berlaku untuk program sistem , dan kita telah melihat bahwa sistem operasi sendiri sering diimplementasikan sebagai satu set prosesor atau thread.

Masalah pada concurrency :
  • Berbagi resource global, misal 1 printer dipakai oleh beberapa PC
  • Management alokasi resource
  • Kesalahan pemrograman sulit untuk ditempatkan datanya

Operating System Concern
1. Melacak proses yang aktif
2. Mengalokasi dan mendealokasi resource
- Processor time : fungsi penjadwalan
- Memory : kebanyakan OS menggunakan skema virtual memory
- Files : seperti file microsoft word
- I/O devices : seperti hardisk dll.
3. Melindungi data dan resource
4. Hasil proses harus independent dari kecepatan eksekusi

Semaphores
- Digunakan untuk signaling
- Jika suatu proses sedang menunggu sinyal, proses itu ditahan sampai sinyal nya terkirim
- Menunggu dan operasi sinyal tidak dapat di interupsi
- Antrian digunakan untuk menyimpan proses menunggu di semaphore
- Semaphore adalah sebuah variabel yang memiliki nilai integer tapi tidak boleh negatif

Monitors
- Pemrograman konstruksi bahasa yang mendukung akses yang dikendalikan ke data yang di share
- Encapsulates
- Hanya satu proses aktif dalam monitor pada setiap saat

Mutual exclusion
- Hanya satu proses yang bisa di eksekusi dalam setiap saat
- Jika proses kedua mencoba untuk masuk ke prosedur monitor, akan diblok sampai proses pertama telah melepaskan monitor


www.binus.ac.id
www.skyconnectiva.com