Wednesday, June 3, 2015

Security

Security Requirements

  • Confidentiality
    • Hanya dapat diakses oleh yang berhak dan yang telah terauthorized
  • Integrity
    • Assets hanya dapat dimodifikasi oleh orang yang berhak atau orang yang telah terauthorized
  • Availability
    • Assets bebas untuk orang yang berhak atau orang yang telah terauthorized 
  • Authenticity
    • Memastikan identitas dari user
Security Environment

Types of Threats
  • Interruption
    • An asset of the system is destroyed of becomes unavailable or unusable
    • Attack on availability
    • Penghancuran hardware
    • Memotong jalur komunikasi
    • Menonaktifkan file management system
  • Interception
    • An unauthorized party gains access to an asset
    • Attack on confidetiality
    • Wiretapping to capture data in a network
    • Illicit copying of files or programs
  • Modification
    • An unauthorized party not only gains access but tampers with an asset
    • Attack on integrity
    • Mengubah nilai dalam file data
    • Altering a program so that it performs differently
    • Memodifikasi konten dari pesan yang akan ditransmisikan kedalam network
  • Fabrication
    • An unauthorized party inserts counterfeit objects into the system
    • Attack on authenticity
    • Insertion of spurios messages in a network
    • Addtion of records to a file




Intruders
  • Common Categories
    • Mengincar orang yang bukan technical user
    • Mengintip atau mempelajari dari dalam
    • Usaha untuk menghasilkan uang
    • Menjadi mata - mata commercial atau military
Accidental Data Loss
  • Common Causes
    • Acts of God
      • Fires, flood, wars
    • Hardware or software errors
      • CPU multifunction, bad disk, program bugs
    • Human errors
      • data entry, wrong tape mounted
Protection Mechanism
  • Protection Domain

  • Protection Matrix
  • Protection Matrix with domains as objects

  • Two Access Control List


  • Capability List

  • Cryptographically-protected capability
  • Generic Rights
    • Copy capability
    • Copy object
    • Removes capability
    • Destroy object
Malicious Program
  • Ini yang butuh host program
    • Fragment dari program yang tidak dapat ada secara independent dari beberapa aplikasi program, utility, atau program sistem
  • Independent
    • Program yang serba ada yang dapat dijadwalkan dan dijalankan oleh operating system
Authetication
  • Basic Principles, Authentication harus diidentifikasi:
    • Something the user knows
    • Something the user has
    • Something the user is
  • Ini akan selesai sebelum user dapat menggunakan sistem
Authentication using Password
(a) Berhasil login
(b)Login ditolak setelah nama dimasukan
(c)Login ditolak setelah nama dan password dimasukan


Authentication using a physical object


  • Magnetic cards
    • Magnetic stripe cards
    • chip cards: stored value card, smart cards
Authentication using biometrics

Countermeasures
  • Membatasi waktu ketika seseorang dapat login
  • Otomatis callback saat number pre specified
  • Membatasi number dari login tries
  • A database of all logins
  • Login name / password yang simple adalah jebakan
    • Security personnel notified when attacker bites
Attack from the inside
  • Trojan Horses
  • Program gratis yang dibuat bebas untuk user tidak curiga
    • Sebenarnya mengandung kode yang merugikan
  • Place altered version of utility program on victim's computer
    • Trick user dalam menjalankan program
Login Spoofing

(a)Login screen yang benar
(b)Phony login screen

Login Bomb
  • Perusahan programmer yang menulis program
    • Berpotensi merugikan
    • OK selama user memasukan password setiap hari
    • ff programmer fired, no password and bomb explodes
Trap Door
(a) Normal code
(b) Code with a trapdoor inserted

Buffer Overflow
(a) Situasi ketika program utama berjalan
(b) Setelah program A dipanggil
(c) Buffer overflow shown in gray

Generic Security Attacks

  • Typical Attacks
  • Request  memori, disk space, tapes dan hanya dibaca
  • Mencoba memanggil system yang ilegal
  • Mulai login dan hit DEL, RUBOUT, or BREAK
  • Mencoba memodifikasi struktu OS yang kompleks
  • Try to do specified DO NOTs
  • Meyakinkan sistem programmer untuk menambahkan trap door
  • Beg admin's sec'y to help a poor user who forgot password
Design Principle for Security
  • System design should be public
  • Default should be n access
  • Cek untuk authority yang sekarang
  • Give each process least privilege possible
  • Protection mechanism should be
    • Simple
    • Uniform
    • In lowest layers of system
  • Scheme should be psychologically acceptable
Virus Stages
  • Dorman phase
    • Virus is idle
  • Propagation phase
    • Virus yang menduplikasikan dirinya sendiri
  • Triggering phase
    • Virus yang diaktifkan untuk perform fungsi yang telah dimaksudkan
    • Caused by a variety of system events
  • Executin phase
    • Function is performed
Antivitus Approach
  • Detection
  • Identification
  • Removal
Trusted System
  • Multilevel Security
    • Informasi yang diorganize dalam kategori - kategori
    • No read up
      • Hanya baca object dari lebih kecil atau sama dengan security level
    • No write down
      • Hanya menulis object dari lebih besar atau sama dengan security level

Trojan Horse Defense

Tuesday, June 2, 2015

Embedded System

Embedded System


  • Kombinasi dari komputer hardware dan software, dan didesain untuk menjalankan fungsi yang didedikasi.
Possile Organization of Embedded System


Characteristics of Embedded System
  • Real-time Operation
  • Reactive Operation
  • Configurability
  • I/O device flexibility
  • Streamlined protection mechanism
  • Direct use of interrupts
Embedded System Development vs Traditional System Development
  • Coding tidak harus secara sequential
  • Routine dapat berhenti saat completion atau respon untuk eksternal event
  • Banyak bagian dari system yang dapat berjalan berbarengan atau bersamaan
  • Safety-Critical komponen dari bagian - bagian system
Embedded System Development approach
  • Harus sesuai dengan hardware yang digunakan
  • Harus membuat software 'fit' pada chip dan hanya digunakan ke hardware yang kompatible
  • Butuh untuk menjaga desain proses abstrak untuk periode waktu yang panjang 
  • Decomposite hierarcy (object-oriented)
  • Menggunakan ulang desain sebelum nya
    • Don't "re-invent the wheel"
eCOS
  • eCOS - Embedded Configurable Operating System
  • Open Source, royalty free,  real time O/S for embedded application
Loading eCOS Configuration

eCOS Scheduler
  • Bitmap Scheduler
    • Bitmap Scheduler mendukung multiple priority level, tapi hanya satu thread yang dapat sama setiap priority level pada setiap waktu yang diberikan.
  • Multilevel Queue Scheduler
    • Mendukung lebih dari 32 priority level
    • Memungkinkan untuk multiple thread aktif pada setiap priority level, terbatas hanya oleh system resource

Multi Processor 
Multicore Computer
  • CPU lebih dari satu core
  • core prosesor beroperasi terpisah dalam satu chip
  • meningkatkan performance tanpa menaikkan clock speed prosesor
Multiprocessor
  • memiliki lebih dari satu CPU
  • Masing-masing mesin menggabungkan dua teknologi, multicore dan multiprocessor
Multicore vs Multiprocessor
  • Hemat Energi
    • Multicore komputer memiliki efisiensi energi yang lebih baik daripada dengan satu multiple CPU
    • Multiple CPU berarti multiple copies dari sirkuit terpadu yang sama pada papan sirkuit, dengan kabel yang berhubungan antara mereka dan chip lain.
    • mengkonsolidasikan core ke salah satu chip dapat mengurangi energi yang digunakan untuk mengirim sinyal dari chip ke chip 
Multicore system
  • Hemat Tempat
    • Multicore chip menyimpan circuit board dan memaketkan tempat yang dicompare ke desain multiple CPU
    • mempunyai sebuah single chip  CPU dengan dua core yang mengambil setengah space sebagai dua bagian CPU chip
Multi processor system
  • Performance
    • Performance baik secara keseluruhan sejak multiple application berjalan saat waktu yang sama
    • menangani multiple request lebih baik dari pada multicore system
UMA Multiprocessor with Bus-Based Architectures

Architecture
  • Multiprocessor Systems diklarifikasikan dengan cara mengasosiasikan CPU dan memory unit
    • Uniform memory access (UMA) Asitekture 
      • Sebelumnya dipanggil tightly coupled multi processor
      • Disebut juga symmetrical multi processor (SMP)
      • Contoh : Balance system dan VAX 8800
    • Non uniform memory access (NUMA) Asitekture
      • Contoh : HP AlphaServer dan IBMNUMA Q
    • No remote memory access (NORMA) Asitekture
      • Contoh : Hypercube system by intel 
      • Sebenarnya didistribusikan system (didiskusikan nanti)
SMP Architecture
  • Terkenal menggunakan bus atau cross - bar switch sebagai interkoneksi jaringan
    • Hanya satu percakapan yang dapat di progress melalui bus dalam satuan waktu ; percakapan lain di delay
      • Delay tidak dapat di prediksi dalam accessing memory 
      • Bus dapat menjadi bottleneck
      • Switch delay lebih dapat di prediksi
  • Cache coherence protocols add to the delays
  • SMP system do not well beyond a small number of CPU
Kernel structure 
  • Kernel dari multi processor OS (SMP architecture) dipanggil SMP kernel
    • Semua CPU dapat eksekusi kode dalam kernel dan banyak CPU dapat melakukan dalam paralel
NUMA Architecture

UMA vs NUMA
  • Unified memory access (UMA)
    • Dikenal juga sebagai symmetric multi processor (SMP)
  • Non - Unified memory access (NUMA)
  • Persamaannya
    • Single memory space 
    • Pitfall compared antara shared memory dan didistribusi memory
  • Perbedaan
    • Access time 
    • # of processor
    • Bus vs network inplementation
NUMA Processors
  • Karateristik dari mesin NUMA :
    • Dimana single address space terlihat untuk semua CPU
    • Access ke remote memory lewat LOAD dan STORE istruksi
    • Access ke remote memory lebih lambat dari pada access kelokal memory
Each CPU Has Its Own Operating System


Master-slave Multiprocessor Model

Classification of parallel system
  • SISD ( Single instruction single data )
    • Uniprocessoers
  • MISD ( Multiple instruction single data )
    • Steam based processing
  • SIMD ( Single Instruction Multiple Data = DLP )
    • Examples: llliac-IV CM - 2 (Thinking Machines), Xetal (Philips), Imagine (Stantoro), vector  machines, cell architecture (Sony)
      • Simple programming model
      • Low Overhead
  • MIMD ( Multiple Instruction multiple data)
    • Examples : Sun Enterprise 5000 Cray T3D,SGI Origin,Multi-core pentiums, and many more 
Time Sharing

Space Sharing 

Gang Scheduling
Tiga bagian dari gang scheduling
  1. Kelompok dari relasi thread yang dijadwalkan sebagai unit, gang
  2. Semua member dari gang dijalankan secara bersamaan, perbedaan time shared CPU 
  3. Semua gang member memulai dan mengakhiri secara bersamaan
www.binus.ac.id