Anda di halaman 1dari 14

Kriptografi dan Keamanan Informasi

Kelompok 7

Emely Kurmilawati (1206252171)

Natasha Anindya Putri Andiyana (1206274393)

Novira Isnainy Fahmi (1206225901)

Applications and Systems Development

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.

Dalam systems engineering ini terdapat beberapa komponen dalam prosesnya,


yaitu: (1) mengetahui kebutuan; (2) mendefinisikan sistem yang diperlukan; (3)
mendesain arsitektur sistem; (4) mengembangkan desain secara detail; (5)
mengimplementasikan sistem; dan (6) menilai efektivitas.

The System Life Cycle or System Development Life Cycle (SDLC)

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.

The Software Life Cycle Development Process

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.

The Waterfall Model

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.

The Spiral Model

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.

Cost Estimation Models

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.

The Software Maintenance Phase and the Change Control Process

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

Kegiatan kontrol permintaan mengelola permintaan pengguna yang meminta


perubahan pada produk perangkat lunak dan mengumpulkan informasi yang dapt
digunakan untuk mengelola kegiatan ini. Langkah-langkah berikut masuk ke dalam
kegiatan ini :

 Menetapkan prioritas permintaan


 Memperkirakan biaya perubahan yang diminta
 Menentukan antarmuka yang didajikan kepada pengguna

Proses kontrol perubahan merupakan langkah prinsipal dalam fase


pemeliharaan. Isu-isu yang termasuk dalam kontrol perubahan ialah :

 Membuat ulang dan menganalisa masalah


 Mengembangkan perubahan dan sesuai tes
 Pertunjukan kontrol kualitas

Sebagai tambahan, adajuga pertimbangan lain seperti berikut:

 Jenis alat yang akan digunakan dalam melaksankan perubahan


 Dokumentasi perubahan
 Pembatasan efek perubahan pada bagian lain dari kode
 Sertifikasi ulang dan akreditasi, jika diperlukan

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

Manajemen konfigurasi adalah disiplin ilmu yang mengidentifikasikan


komponen dari sistem yang terus berkembang untuk tujuan mengendalikan perubahan
komponen-komponen dan mempertahankan integritas dan penelusuran di seluruh siklus
hidup. Definisi berikut berhubungan dengan manjemen konfigurasi:

- Configuration item : sebuah komponen dalam keadaan harus dicatat dan


melawan perubahan yaang akan berkembang.
- Version : sebuah kondisi yang tercatat dari item konfigurasi

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.

Prosedur berikut berkaitan dengan manajemen konfigurasi:

1. Mengidentifikasikan dan mendokumentasikan karakteristik fungsional dan fisik


masing-masing item konfigurasi (configuration idetification)
2. Pengendalian perubahan item konfigurasi dan versi masalah item konfigurasi
dari perpustakaan perangkat lunak (configuration Control)
3. Catat pengolahan perubahan (configuration status accounting)
4. Kontrol kualitas prosedur manajemen konfigurasi (configuration audit)

The Software Capability Maturity Model (CMM)

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).

Ada 5 level Maturity yaitu :

- 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.

Software CMM adalah komponen yang mendukung konsep perbaikan proses


yang berkesinambungan. Konsep ini diwujudkan dalam Perbaikan Proses SEI IDEAL
Model:

 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

Sebuah sistem berorientasi obyek memiliki karakteristik potensi menjadi lebih


dapat diandalkan dan kurang rentan terhadap menyebarkan kesalahan perubahan
program daripada metode pemrograman konvensional. Dan sistem berorientasi objek
dapat dianggap sebagai sekelompok objek independen yang dapat diminta untuk
melakukan operasi tertentu atau menunjukkan perilaku tertentu. Benda-benda ini
bekerja sama untuk menyediakan fungsionalitas yang diperlukan sistem.

Definisi berikut sangat penting untuk sistem berorientasi obyek:

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.

Artificial Intelligence Systems

Pendekatan alternatif untuk menggunakan software dan/atau hardware untuk


mengatasi masalah adalah melalui digunakannya sistem kecerdasan buatan. Sistem ini
mencoba untuk meniru cara kerja pikiran manusia. Terdapat dua jenis kecerdasan
buatan:

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

Nilai dari neural network adalah kemampuannya untuk secara dinamis


menyesuaikan bobotnya untuk mengaitkan vektor input yang diberikan yang sesuai
dengan vektor output.

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

Sebuah sistem database dapat digunakan sebagai mekanisme umum untuk


mendefinisikan, menyimpan, dan memanipulasi data tanpa menulis program khusus
untuk melakukan fungsi-fungsi ini. Database Management System (DBMS)
menyediakan perintah tingkat tinggi untuk beroperasi pada data dalam database.
Beberapa jenis database adalah sebagai berikut:

 Hirarkis

 Mesh

 Object-oriented

 Relational

Database Security Issues

Kelemahan keamanan informasi database dapat dieksploitasi melalui DBMS.


Dirancang untuk memfasilitasi permintaan ke database, DBMS bisa menjadi sumber
kemungkinan data membahayakan dengan menghindari kontrol keamanan normal.
Rincian dari akses ke objek dalam database mengacu pada kehalusan yang akses
tersebut dapat kendalikan atau batasi.

Data Warehouse and Data Mining

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

Tujuan dari pengendalian aplikasi adalah untuk menegakkan kebijakan


keamanan organisasi dan prosedur dan untuk menjaga kerahasiaan, integritas, dan
ketersediaan informasi berbasis komputer. Pengendalian dapat diklasifikasikan ke dalam
langkah-langkah preventif, detektif, dan korektif yang berlaku untuk kategori keamanan

12
yang berbeda.

Distributed Systems

Sistem terdistribusi merupakan hal yang umum dan menimbulkan tantangan


khusus untuk implementasi sistem informasi keamanan. Keamanan dalam sistem
terdistribusi harus mencakup mekanisme kontrol akses, identifikasi, otentikasi, beberapa
jenis kemampuan deteksi gangguan, rencana tanggap darurat, log, dan audit. Model

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

Sistem terpusat menyediakan pelaksanaan keamanan dan sistem aplikasi kontrol


lokal, sedangkan sistem terdistribusi harus berhadapan dengan badan yang terpisah
secara geografis berkomunikasi melalui suatu jaringan atau melalui banyak jaringan.

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

Anda mungkin juga menyukai