SOP Pengembangan
1. Tujuan
Prosedur ini bertujuan untuk merencanakan, menetapkan, melaksanakan dan mengevaluasi semua keamanan dalam proses pengembangan dan proses-proses lainya yang berhubungan dengan IT sesuai dengan persyaratan keamanan informasi.
2. Ruang Lingkup
Prosedur ini berlaku di lingkungan PT Metalogix Infolink Persada yang mengatur tata cara pengajuan perbaikan program serta permintaan fiture baru.
3. Tanggung jawab
Divisi Developer bertanggung jawab dalam pelaksanaan prosedur ini
4. Definisi
4.1 *Authentication* merupakan proses verifikasi identitas seseorang atau entitas untuk memastikan bahwa mereka adalah yang mereka klaim. Ini adalah komponen kunci dalam keamanan informasi dan sistem komputer. Tujuan dari authentication adalah untuk mencegah akses yang tidak sah ke data, sumber daya, atau layanan yang dilindungi.
4.2 *Authorization* merupakan proses yang memutuskan hak akses atau izin yang diberikan kepada pengguna, entitas, atau perangkat setelah mereka berhasil melewati proses authentication (otentikasi) yang memverifikasi identitas mereka.
4.3 *Services* merupakan entitas yang mampu melayani permintaan dari pengguna atau aplikasi lain dalam lingkungan komputasi.
4.4 *Backup* merupakan proses menciptakan salinan data atau informasi yang ada untuk tujuan cadangan dan pemulihan jika data asli hilang, rusak, atau terhapus.
4.5 *Restoration* merupakan proses mengembalikan sesuatu ke keadaan aslinya setelah mengalami kerusakan, perubahan, atau penurunan kualitas.
4.6 *Monitoring* merupakan pengawasan terus-menerus terhadap kinerja jaringan, perangkat keras, dan perangkat lunak untuk mendeteksi gangguan, meningkatkan keamanan, dan memantau lalu lintas data.
4.7 *Confidentiality* merupakan prinsip keamanan informasi yang menekankan perlindungan dan rahasia data atau informasi yang sensitif.
4.8 *Integrity* merupakan prinsip atau karakteristik keamanan informasi yang mengacu pada keotentikan, keaslian, dan integritas data.
4.9 *Programmer* merupakan seseorang yang memiliki keterampilan dalam menulis kode komputer atau perangkat lunak.
5. Referensi
5.1 ISO/IEC 27001:2022 A.8.25 Siklus hidup pengembangan yang aman (SDLC)
5.2 ISO/IEC 27001:2022 A.8.26 Persyaratan keamanan aplikasi
5.3 ISO/IEC 27001:2022 A.8.27 Prinsip-prinsip arsitektur dan rekayasa sistem yang aman.
5.4 ISO/IEC 27001:2022 A.8.29 Pengujian keamanan dalam pengembangan dan penerimaan.
5.5 ISO/IEC 27001:2022 A.8.31 Pemisahan lingkungan pengembangan, pengujian, dan produksi
6. Prosedur
6.1. Pengadaan Sistem Informasi
6.1.1. Seluruh pengadaan fasilitas sistem informasi harus ditinjau dan diketahui oleh Departemen IT, apakah sudah memenuhi kebutuhan berdasarkan kebutuhan keamanan.
6.1.2. PT Metalogix infolink Persada menetapkan dan mendokumentasikan persyaratan-persyaratan keamanan informasi yang relevan sebelum pengembangan, perluasan atau pengadaan sistem informasi baru.
6.1.3. Seluruh software yang dikembangkan baik secara in-house maupun outsource, dan dimaksudkan untuk mengolah informasi sensitif, bernilai atau kritikal, spesifiknya harus didokumentasikan secara formal.
6.1.4. Spesifikasi ini harus disetujui baik oleh pemilik informasi yang terlibat dan pengembang sistemnya sebelum kegiatan programming dimulai.
6.1.5. Identifikasi keamanan untuk mencegah, mendeteksi dan memulihkan dari kegagalan-kegagalan perlu dilakukan pada:
6.1.5.1. Sistem Operasi
· Sistem administrasi (authentication and authorization)
· Konfigurasi sistem (services enabling/disabling)
· Monitoring sistem (audit catatan)
· Pemulihan bencana (back up and restoration)
· Kepatuhan hukum
6.1.5.2. Aplikasi
· Administration applikasi (authentication and authorization)
· Information administration (authorization)
· Information configuration (confidentiality and integrity protection)
· Konfigurasi aplikasi (services enabling/disabling)
· Monitoring aplikasi (audit catatan)
· Pemulihan bencana (back up and restoration)
6.1.5.3. Kepatuhan Hukum Layanan Jasa
· Konfigurasi support (perlindungan akan kerahasiaan, integritas dan ketersediaan)
· Monitoring pelayanan
· Pengaturan
· Kepatuhan hukum
6.1.5.4. Network
· Konfigurasi support (jaminan akan kerahasiaan, integritas dan ketersediaan)
· Jaminan ketersediaan komunikasi
· Pemulihan bencana
· Kepatuhan hukum
6.1.6. Developer melakukan pemeriksaan apakah implementasi sudah dilakukan dengan benar dan kemampuan fungsional PDCA harus dilaksanakan sepanjang pengembangan oleh para anggota kelompok pengembangan untuk memastikan bahwa keamanan diukur, dirancang, serta dibangun dan diuji seperti diinginkan.
6.1.7. Persyaratan-persyaratan keamanan tersebut diatas perlu juga diterapkan ketika mengevaluasi paket perangkat lunak untuk aplikasi bisnis. Dimana yang sesuai, bisa dilakukan dievaluasi, paket software harus dianalisa sebelum evaluasi dan diuji untuk jaminan.
6.2. Pengembangan dan Perawatan Sistem Informasi
6.2.1. Kebijakaan pengembangan yang aman.
6.2.1.1. Pengembangan dan penyebaran aplikasi di PT Metalogix infolink Persada harus memasukkan persyaratan keamanan dan control pada tahap siklus pengembangan software (SDLC). Tingkat keamanan harus searah dengan persyaratan sistem aplikasi bisnis dan operasi.
6.2.1.2. Persyaratan keamanan sistem yang dituju harus dimasukkan dan didokumentasikan dalam fase persyaratan fungsi dan teknis dari proyek.
6.2.1.3. Penilaian resiko keamanan harus dilakukan selama tahap perencanaan proyek pengembangan sistem informasi untuk membantu programmer dalam mengidentifikasi dan menentukan potensi kelemahan dan ancaman yang ada dalam sistem informasi.
6.2.1.4. Kontrol harus memasukkan aspek keamanan infrastruktur utama, yang dikemas dalam keamanan aplikasi dan standar keamanan aplikasi yang dikembangkan. Ini harus difokuskan pada control cara automatisasi atau manual yang bisa diterapkan.
6.2.1.5. Semua sumber program yang digunakan pada sistem percobaan harus dihapus segera setelah masa percobaan selesai dilakukan.
6.2.2. Kontrol Perubahan
6.2.2.1. Input data pada sistem aplikasi harus dilakukan validasi untuk memperkecil kesalahan integritas data.
6.2.2.2. Data output dari sistem aplikasi harus dilakukan validasi untuk menjamin bahwa proses penyimpanan informasi benar dan tepat.
6.2.2.3. Sistem informasi harus memasukkan pemeriksaan kontrol untuk menjamin proses internal aplikasi yang benar, melakukan validasi data baru dan memecahkan kesalahan integritas data.
6.2.2.4. Pesan (pop up) harus digunakan untuk mendeteksi perubahan yang tidak diizinkan, atau korup, kandungan pesan elektronik yang dikirimkan, jika ada persyaratan keamanan bagi integritas pesan yang benar.
6.2.3. Review teknis aplikasi setelah perubahan sistem operasi
6.2.3.1. Melakukan review untuk memastikan bahwa tidak ada penurunan kualitas prosedur pengendalian dan integritas akibat permintaan perubahan.
6.2.3.2. Memastikan rencana dan anggaran annual support yang mencakup review dan sistem testing dari perubahan sistem operasi.
6.2.3.3. Memastikan pemberitahuan perubahan sistem informasi dilakukan dalam jangka waktu yang tepat untuk memastikan tes dan review telah dilaksanakan sebelum implementasi.
6.2.3.4. Memastikan bahwa perubahan telah diselaraskan dengan rencana kelangsungan kegiatan.
6.2.4. Pembatasan Perubahan Paket Software
Developer bertanggung jawab untuk
6.2.4.1. Memastikan permintaan perubahan diajukan oleh pihak yang berwenang.
6.2.4.2. Tidak diperbolehkan memodifikasi paket software untuk menghindari kegagalan sistem dan hilangnya waranty dari manufaktur.
6.2.4.3. Memastikan bahwa dokumentasi sistem mutakhir dan dokumen versi sebelumnya di arsip.
6.2.4.4. Memelihara versi perubahan aplikasi.
6.2.4.5. Memelihara history perubahan aplikasi.
6.2.4.6. Memastikan dokumentasi penggunaan dan prosedur telah diubah sesuai dengen perubahan yang dilaksanakan.
6.2.4.7. Melakukan review untuk memastikan bahwa perubahan software tidak mempengaruhi penurunan kualitas proses dalam Perusahaan.
6.2.4.8. Memastikan pihak yang berwenang menerima perubahan software yang diminta sebelum dilakukan implementasi.
6.2.4.9. Memastikan bahwa implementasi perubahan dilakukan pada waktu yang tepat dan tidak menggangu kegiatan operational.
6.2.5. Prinsip sistem engineering yang aman
Departemen IT berrtanggung jawab untuk
6.2.5.1. Memastikan tidak hilangnya data dalam proses perubahan aplikasi.
6.2.5.2. Memastikan sistem aplikasi yang akan dipakai aman guna mencegah masuknya penyusup.
6.2.6. Pengembangan yang aman
Departemen IT berrtanggung jawab untuk
6.2.6.1. Sumber program disimpan pada suatu tempat dimana hanya Sistem Developer dan IT Manajer saja yang bisa mengakses tempat tersebut.
6.2.6.2. Mengupdate kumpulan program hanya bisa dilakukan oleh individu yang diajukan seperti IT administrasi berdasarkan izin dari pemilik aplikasi.
6.2.6.3. Kode executable harus dipisahkan secara jelas dari kode sumber/pengembangan.
6.2.6.4. Kode executable tidak harus dijalankan pada sistem operasional sampai:
· Bukti pengetesan yang sukses dan pengetesan penerimaan pemakai diperoleh.
· Prosedur perubahan pada seluruh kontrol telah diselesaikan secara sukses.
6.2.6.5. Catatan audit harus dipelihara seluruh updatenya oleh IT administrasi beserta sumber program.
6.2.6.6. Versi software sebelumnya harus dipelihara/tidak boleh hilang.
6.2.6.7. Upgrade atau pengaturan aplikasi baru yang diinstal oleh penjual pihak ketiga harus memasukkan keamanan sistem file dalam disain upgradenya.
6.2.6.8. Vendor aplikasi harus dimonitor secara ketat untuk kegiatan yang tidak diizinkan.
6.2.7. Outsourced Development / Pengembangan Software oleh Pihak Ketiga
6.2.7.1. Seluruh aplikasi PT Metalogix infolink Persada yang dikembangkan oleh programmer diluar Perusahaan harus menerapkan kebijakan dan standar yang sama seperti aplikasi milik PT Metalogix infolink Persada .
6.2.7.2. Kepemilikan software yang dikembangkan oleh penjual pihak ketiga harus ditetapkan dalam perjanjian kontrak.
6.2.7.3. Kontrak pengembangan software yang berasal dari luar harus menunjukkan hal berikut ini:
· Pengaturan lisensi, kode kepemilikan dan hak milik kekayaan intelektual (HAKI).
· Sertifikat mengenai kualitas dan keakuratan pelaksanaan pekerjaan.
· Pengaturan pemberitahuan dalam kejadian kegagalan pada pihak ketiga.
6.2.8. Testing Keamanan Sistem
6.2.8.1. Penggunaan data secara langsung untuk tujuan pengetesan harus dikontrol sekomprehensif mungkin, pengecualian terhadap hal ini perlu persetujuan manajemen.
6.2.8.2. Persetujuan pengecualian diperlukan ketika sebagian data yang sedang dipakai dibutuhkan, jika data langsung digunakan untuk pengetesan:
· Data yang berhubungan dengan individu harus diubah menjadi bukan data individu.
· Kontrol harus dilaksanakan untuk melindungi data yang rahasia dan sensitif.
· Waktu yang cukup harus disiapkan antara pembuatan dan penggunaan untuk memvalidasi nilai komersial yang mungkin tergabung dengan data.
6.2.8.3. Memastikan tidak hilangnya data saat dilakukanya pengetesan.
6.2.9. Testing System Acceptance
6.2.9.1. Memastikan sistem/aplikasi yang akan dipakai baik sistem informasi baru, upgrade atau versi baru benar-benar sudah melalui serangkaian uji tes dan dinyatakan aman.
6.2.9.2. Memastikan sistem memiliki:
· Keamanan dan keselamatan dalam operational.
· Kehandalan
· Dapat dirawat secara mudah dan murah
· Mudah dalam operational
6.2.9.3. Melakukan pengujian dan memastikan sistem sudah sesuai atau belum dengan apa yang tertuang dalam fungsional sistem (Validation).
6.2.9.4. Pengujian melibatkan semua aspek sistem mulai: hardware, software aplikasi, environment software, tempat dan operator, sehingga benar aplikasi tersebut bisa dan diterapkan.
6.2.9.5. Melakukan rangkain testing dan terdokumentasi.
7. Dokumen Pendukung
| No. | Nama Dokumen | Tempat Simpan |
|---|---|---|
| 1 | Form Application Security Requirements | Departemen IT |
| 2 | Form Business Requirement Document | Departemen IT |