Kelompok 7
Dalam bab ini akan menjelaskan tentang masalah keamanan dari sudut pandang
pengembang, pengguna, dan ahli keamanan sistem informasi. Untuk itu dalam bab ini
akan dibahas beberapa hal sebagai berikut: (1) system engineering; (2) the software life
cycle development process; (3) the software process capability maturity model; (4)
object-oriented systems; (5) artificial intelligence systems; (6) database systems; dan (7)
application controls.
Systems Engineering
Definisi umum dari systems engineering merupakan cabang dari teknik yang
memberikan perhatian kepada pengembangan sistem yang besar dan kompleks, dimana
suatu sistem dimengerti sebagai kumpulan atau kombinasi dari elemen atau bagian yang
saling berhubungan dan bekerja sama untuk suatu tujuan umum.
SDLC memiliki beberapa fase siklus kehidupan sesuai dengan yang tertera pada
Generally Accepted Principles and Practices for Securing Information Technology
System (NIST SP 800-14), yaitu:
1
Initiation, yaitu kebutuhan untuk sebuah sistem dan tujuannya
didokumentasikan. Dalam fase ini dilakukan penilaian sensitivitas
untuk mengevalusasi sensitivitas dari sistem tersebut;
Development/Acquisition, sebuah sistem di desain, dikembangkan,
diprogram, dan diperoleh;
Implementation, dilakukan instalasi, pengujian, pengujian keamanan
dan akreditasi;
Operation/Maintenance, sistem menjalankan fungsinya yang telah
didesain, di dalamnya termasuk berjalannya keamanan,
modifikasi/penambahan dari perangkat keras dan/atau perangkat lunak,
administrasi, jaminan operasional, pengawasan dan audit;
Disposal, disposisi dari komponen dan produk sistem, seperti software,
hardware, dan informasi.
Teknik software dapat didefinisikan sebagai suatu ilmu pengetahuan dan seni
dalam menspesifikasi, mendesainn, mengimplementasikan, dan mengembangkan
program, dokumantasi, dan prosedur mengoperasikan sehingga komputer dapat berguna
bagi pemakainya. Tanpa adanya pengembangan perangkat lunak (software) sulit untuk
mencapai kualitas yang baik. Tujuan dari pengembangan software adalah memproduksi
produk berkualitas yang sesuai dengan keinginan pelanggan dan untuk tetap didalam
rencana budget dan waktu. Proses pengembangan juga berubah seiring waktu, model
pertama disebut sebagai simplistic software development model. Di dalam model
tersebut terdapat tujuh proses yaitu keperluan sistem, keperluan software, analisis,
desain program, coding, pengujian, dan pengoperasian serta pemeliharaan. Dalam
model ini mengasumsikan bahwa setiap langkah dapat dilengkapi dan difinalisasi tanpa
ada dampak dari langkah selanjutnya.
Dalam model ini pengembangan software dapat dikelola jika dibatasi untuk
kembali ke tahap sebelumnya untuk diperbaiki. Jika tidak ada ketentuan batasan maka
pengembang dapat mengerjakan perubahan pada tahap manapun dan pengerjaan ulang
dapat dilakukan beberapa kali. Sehingga dengan menggunakan pendekatan ini akan sulit
2
untuk mengelolanya. Beberapa proses yang ada di dalam waterfall model adalah
keperluan sistem, perencanaan dan kebutuhan software, desain produk, desain detail,
code, integrasi, implementasi, dan pengoperasian dan pemeliharaan. Barry Boehm pada
tahun 1976 mereinterpretasika model ini dengan mereferensikan verifikasi dan validasi
(V&V). Verifikasi mengevaluasi produk pada saat pengembagan dan validasi
merupakan produk yang bekerja dan memuaskan kebutuhan dunia-nyata dan konsep
awal.
Barry Boehm pada tahun 1988 mengembangkan spiral model yang merupakan
penggabungan dari beberapa model. Pada dimensi siku-siku mewakili progres yang
dibuat ketika melakuka pengembangan dan deimensi radial mewakili biaya kumulatif
rancangan software. Dalam model ini pada setiap siklus dari spiral termasuk didalamnya
langkah-langkah yang sama dalam rancangan software.
Basic COCOMO Model merupakan model awal untuk mengestimasi biaya yang
diperlukan untuk rancangan pengembangan software. Untuk menambahkan model ini
Boehm mengembangkan Intermediate COCOMO Model yang memperhitungkan
kendala hardware, kualitas personil, penggunakan perangkat modern, dan atribut lain
serta jumlah dampaknya pada biaya keseluruhan. Pada Detailed COCOMO Model
memperhitungkan pula dampak dari faktor tambahan yang digunakan dalam
intermediate model. Model lain adalah function point model dimana usaha
pengembangan software ditentukan dengan menggunakan lima fungsi pengguna, yaitu:
(1) external input types; (2) external input types; (3) logical internal file types; (4)
external interface file types; dan (5) external inquiry types. Model ketiga untuk
mengestimasi biaya adalah Software Life Cycle Model (SLIM) dimana estimasi biaya
berdasarkan dua faktor yaitu: (1) manpower buildup index (MBI), yang
mengestimasikan tingkat pembangunan dari staf pada proyek tersebut; dan (2)
productivity factor, berdasarkan teknologi yang digunakan.
3
Information Security and the Life Cycle Model
Testing Issues
Pengujian modul software atau unit testing harus diatasi ketika modul sedang
dirancang. Personil terpisah dari programmer harus melakukan pengujian ini. Data uji
merupakan bagian dari spesifikasi. Pengujian tidak hanya harus memeriksa modul
menggunakan input data normal dan sah, tetapi juga harus memeriksa jenis yang salah,
out-of-range nilai, dan batas dan / atau kondisi lainnya.
Di Life cycle Models, fase pemeliharan ada dibagian paling akhir dari siklus
dengan operasi. Salah satu cara untuk melihat fase pemeliharaan ini adalah dengan
membagi ke dalam 3 subfase yaitu:
4
1. Request control
2. Change control
3. Release control
Kontrol rilis dikaitkan dengan mengeluarkan rilis terbaru dari perangkat lunak.
Langkah ini melibatkan memutuskan permintaan akan dimasukkan rilis terbaru,
pengarsipan rilis, manajemen konfigurasi, kontrol kualitas, distribusi, dan pengujian
penerimaan.
Configuration Management
5
- Configuration : sebuah koleksi komponen item konfigurasi yang terdiri dari item
konfigurasi dalam beberapa tahap evolusi (rekursif)
- Building : proses perakitan versi item konfigurasi dari versi komponen item
konfigurasi.
- Build List : kumpulan versi komponen item konfigurasi yang digunakan untuk
membangun versi dari item konfigurasi.
- Software Library: area yang dikendalikan dan hanya dapat diakses oleh
pengguna yang disetujui yang dibatasi dengan penggunaan prosedur yang
disetujui.
Software CMM didasarkan pada premis bahwa kualitas produk software adalah
fungsi langsung dari hal terkait kualitas pengembangan software dan pemeliharaan
proses. Proses didefinisikan oleh Carnegie Mellon University Software Engineering
Institute (SEI) sebagai “serangkaian kegiatan, metode, praktik, dan transformasi yang
digunakan orang untuk mengembangkan dan memelihara sistem dan produk terkait”.
(SEI, “The Capability Maturity Model: Guidelines for Improving the Software
Process,” Addison Wesley, 1995).
- level 1 : initiating. orang yang kompeten dan heroik; proses yang informal dan
ad hoc.
- Level 2 : repeatable. Proses manajemen proyek; praktek manajemen proyek
yang dilembagakan.
- Level 3 : defined. Teknik proses dan dukungan organisasi; praktik teknis yang
terintegrasi dengan praktik manajemen.
- Level 4 : managed. Produk dan proses perbaikan, produk dan proses yang
dikendalikan secara kuantitatif.
6
- Level 5 : optimizing. Perbaikan proses yang berkesinambungan; peningkatan
proses melembaga.
Tahap 1 dari IDEAL Model adalah tahap Initiate, dimana dukungan manajemen
diperoleh untuk perbaikan proses, tujuan dan kendala dari upaya perbaikan
proses didefinisikan dan sumber daya dan rencana untuk tahap berikutnya
diperoleh.
Tahap 2 Diagnose, mengidentifikasi metode dengan penialain yang tepat (seperti
berbasis CMM), mengidentifikasi proyek yang akan dinilai, melatih tim penilai,
melakukan penilaian, dan manajemen singkat, dan organisasi hasil penilaian.
Tahap 3, Establish, sebuah rencana aksi yang dikembangkan berdasarkan hasil
tahap 2, manajemen penjelasan tentang rencana aksi, dan sumber daya dan
kelompok dikoordinasikan untuk melaksanakan rencana aksi.
Tahap 4, Action, fase tindakan dimana sumber daya yang direkrut untuk
pelaksanaan rencana aksi, rencana aksi dilaksanakan, upaya perbaikan diukur,
dan rencana dan pelaksanaan yang dimodifikasi berdasarkan pengukuran dan
umpan balik.
Tahap 5, leverage, fase review yang memastikan bahwa semua kriteria
keberhasilan telah dicapai, semua umpan balik dievaluasi, pelajaran dianalisis,
rencana bisnis dan perbaikan proses dibandingkan untuk hasil yang diinginkan,
dan tahap berikutnya dari upata perbaikan proses direncanakan.
Object-Oriented Systems
7
- Pesan. Sebuah pesan komunikasi ke objek untuk melaksanakan beberapa
operasi.
- Metode. Sebuah metode adalah kode yang mendefinisikan tindakan obyek
tampil dalam menanggapi pesan.
- Perilaku. Perilaku mengacu pada hasil yang ditunjukkan oleh sebuah objek
setelah menerima sebuah pesan.
- Class. Kelas A adalah kumpulan dari metode umum dari satu set objek yang
mendefinisikan perilaku objek tersebut. Booch mendefinisikan kelas sebagai
"satu set objek yang berbagi struktur umum dan perilaku umum".
- Instance. Objek adalah contoh kelas yang berisi metode mereka.
- Warisan. Metode dari kelas diwariskan oleh subclass lain. Dengan demikian,
subclass mewarisi perilaku dari kelas yang lebih besar, atau superclass, karena
kadang-kadang disebut.
- Beberapa warisan. Beberapa warisan adalah situasi di mana kelas mewarisi
karakteristik perilaku kelas lebih dari satu orang tua.
- Delegasi. Delegasi adalah penyampaian permintaan oleh objek kepada objek
yang lain atau mendelegasikan. ini diharuskan oleh kenyataan bahwa objek
menerima permintaan tidak memiliki metode untuk melayani permintaan.
- Polimorfisme. Menurut Booch, "Sebuah nama dapat menunjukkan banyak
benda yang berbeda kelas yang terkait dengan beberapa superclass umum;
dengan demikian, objek apapun dilambangkan dengan nama ini mampu
menanggapi beberapa seperangkat operasi di dengan cara yang berbeda. "
- Polyinstantiation. Polyinstantiation adalah pengembangan dari versi rinci suatu
objek dari objek lain menggunakan nilai yang berbeda dalam objek baru. Di
keamanan informasi basis data, istilah ini berkaitan dengan dasar yang sama
Kunci untuk hubungan yang berbeda pada tingkat klasifikasi yang berbeda yang
disimpan dalam database yang sama.
Expert Systems
8
Expert system menunjukkan penalaran yang mirip dengan manusia untuk
memecahkan masalah. Hal ini memenuhi penalaran ini dengan membangun basis
pengetahuan dari domain yang akan dibahas dalam bentuk aturan dan mekanisme
inferensia untuk menentukan apakah aturan telah dipenuhi oleh sistem input. Expert
system beroperasi secara forward-chaining atau backward-chaining. Dalam mode
forward-chaining, expert system memperoleh informasi dan memberikan kesimpulan
berdasarkan informasi tersebut. Dalam modus backward-chaining, expert system
menarik kembali untuk menentukan apakah suatu hipotesis berlaku. Model spiral dapat
digunakan untuk membangun sebuah expert system. Langkah-langkah umum ketika
membangun sebuah model spiral adalah analisis, spesifikasi, pengembangan, dan
penyebaran.
Neural Networks
Sebuah neural network ini didasarkan pada fungsi neuron biologis. Dalam
neuron biologis, sinyal dipertukarkan antara neuron melalui denyut elektrik yang
melakukan perjalanan sepanjang akson. Denyut elektrik tiba di neuron pada titik-titik
yang disebut sinapsis. Ketika denyut tiba di sinapsis, hal itu menyebabkan pelepasan
neurotransmitter kimia yang bergerak di celah sinaptik ke reseptor pasca-sinaptik di sisi
dendrit dari sinaps. Neurotransmitter kemudian menyebabkan perubahan dalam
membran dendrit postsynaptic-potensi (PSP). PSP ini diintegrasikan oleh neuron dari
waktu ke waktu.
9
Berikut adalah analog dari sistem neuron biologis. Masukan Ii ke neuron yang
dimodifikasi oleh bobot, Wi, dan kemudian dijumlahkan di unit Σ. Jika tertimbang
jumlah melebihi ambang batas, satuan Σ akan menghasilkan output, Z. Fungsi neural
network ini buatan ditunjukkan dalam persamaan berikut:
Z = W1 I1 .. + W2 I2 + ... + Wn In
Genetic Algorithms
Algoritma ini merupakan bagian dari kelas umum yang dikenal sebagai evolutionary
computing. Evolutionary computing menggunakan prinsip-prinsip Darwin tentang
seleksi alam, mutasi, dan adaptasi generasi-generasi populasi terhadap lingkungan
mereka. Genetic algorithm mengimplementasikan proses ini melalui pengulangan
generasi populasi ukuran konstanakan item atau individu. Setiap individu ditandai oleh
serangkaian simbol yang terbatas yang disebut genomes. Genomes digunakan untuk
mewakili kemungkinan solusi untuk masalah dalam ruang pencarian tetap.
10
Database Systems
Hirarkis
Mesh
Object-oriented
Relational
Data warehouse adalah gudang informasi dari database heterogen yang tersedia
untuk pengguna untuk membuat permintaan. Untuk membuat data warehouse, data
diambil dari database operasional, pengulangan dihapus, dan data "dibersihkan" secara
umum. Kegiatan ini disebut sebagai normalisasi data. Kemudian data tersebut
dimasukkan ke dalam database relasional dan dapat dianalisis dengan menggunakan
On-Line Analytical Processing (OLAP) dan alat-alat pemodelan statistik. Data mart
adalah database yang terdiri dari data atau hubungan yang telah diekstraksi dari data
warehouse. Informasi dalam data mart biasanya menarik bagi kelompok orang tertentu.
Data Dictionaries
11
Data dictionary atau kamus data adalah database bagi para pengembang sistem.
Halini mencatat semua struktur data yang digunakan oleh aplikasi. Kamus data primer
memberikan garis dasar definisi data dan kontrol pusat, sedangkan kamus data sekunder
yang ditugaskan untuk proyek pengembangan yang terpisah untuk memberikan backup
ke kamus primer dan bekerja sebagai pembagian antara pengembangan dan uji database.
Application Controls
12
yang berbeda.
Distributed Systems
13
klien/server menerapkan jenis sistem terdistribusi. Dalam model ini, permintaan klien
layanan dan server menyediakan layanan yang diminta. Klien menyediakan interface
pengguna, mendukung masuknya informasi, dan memberikan laporan. Server
menyediakan akses ke data, memegang database, memberikan data ke klien, melakukan
backup, dan menyediakan layanan keamanan.
Centralized Architecture
Real-Time Systems
Sistem real-time beroperasi dengan memperoleh data dari transduser atau sensor
secara real time dan kemudian membuat perhitungan dan keputusan kontrol dalam
jendela waktu yang tetap. Ketersediaan sistem tersebut sangat penting dan dapat diatasi
melalui sistem Redundant Array of Independent Disk (RAID), mirroring disk, hard disk
duplexing, sistem fault-tolerant, dan mekanisme pemulihan untuk mengatasi kegagalan
sistem.
14