Pengamanan source code membutuhkan penggunaan Version Control System untuk mengontrol versi dan integritas kode serta penerapan Data Loss Prevention untuk mencegah penyebarluasan dan penggunaan kode yang tidak terotorisasi. Solusi yang disarankan adalah menggunakan Subversion sebagai Version Control System dan MyDLP untuk mencegah kebocoran data termasuk source code.
2. Pengamanan Source Code
• Tidak bisa dilakukan dengan hanya satu
solusi.
• Data Leak Prevention (DLP) diperlukan
untuk menjaga source dicopy/dikirimkan
untuk kepentingan yang tidak terotorisasi.
• Version (Revision) Control System
diperlukan untuk menjaga integritas versi /
source code.
3. Version Control System
• Sering disebut juga sebagai Revision
Control System, adalah sebuah repository
untuk menyimpan file dan biasanya adalah
source aplikasi dengan akses yang
termonitor. Setiap perubahan terhadap
source aplikasi akan tercatat, siapa yang
merubah dan kapan perubahan dilakukan.
4. Version Control Software
• Version control software, software yang menjalankan Version Control System:
• Local Data Model
– Open Source
• Revision Control System (RCS: http://www.gnu.org/software/rcs/rcs.html)
• Client Server Model
Source code disimpan dalam repository terpusat, developer melakukan checkout dan checkin
terhadap source yang akan dikerjakan
– Open Source
• Concurrent Version System (CVS: http://www.nongnu.org)
• Subversion (SVN: http://subversion.apache.org)
• dll
– Propietary
• IBM Rational Clearcase dan IBM Rational Team Concert (http://www-01.ibm.com/software/rational/)
• Perforce (http://www.perforce.com/)
• dll
• Distributed Model
Source digandakan dalam beberapa clone
– Open Source
• GIT (Git http://git-scm.com/)
• Decentralized CVS (DCVS https://dcvs.elegosoft.com/)
• dll
– Propietary
• Bitkeeper (http://www.bitkeeper.com/)
• Code co-op (http://relisoft.com/co_op/)
• dll
5. Version Control Software
• Pilihan terhadap software ditentukan
oleh
–Kemampuan dalam merekam jejak
perubahan sesuai dengan yang
kebijakan
– Kemudahan dalam mengoperasikan
sehingga mempersingkat waktu
pembelajaran
6. Data LossPrevention (DLP)
• Sering disebut sebagai Data LeakPrevention
• Suatu system yang didisain sedemikian rupa untuk
memonitor, mendeteksi, dan blocking data-data sensitif pada
beberapa kondisi:
– Data in-use (endpoint action, data sedang digunakan atau
dimodifikasi),
– Data in-motion (permindahan/penyalinan lewat jaringan),
– Data at-rest (penyimpanan data),
Dari kemungkinan pembocoran oleh aktifitas personel maupun
aktifitas malware.
• Berbeda dengan IRM (Information Right Management) atau DRM
(Digital Right Management) bahwa DRM menitik-beratkan pada
Right dan sangat bergantung pada Active Directory untuk
menentukan siapa-siapa saja yang berhak untuk membaca.
Kesulitan muncul ketika harus berhubungan dengan pihak luar.
7. Data Loss Prevention
• Source code adalah merupakan asset yang
harus dilindung setelah integritas source terjaga
dengan penerapan Revision Control System
dengan rencana yang meliputi:
– Pencegahan penggandaan source code oleh pihak-
pihak yang tidak berwenang.
– Pencegahan penggunaan source code oleh pihak-
pihak yang tidak berhak menggunakan source code.
– Pencegahan pihak lain (c.q. competitor) dari akses
terhadap souce code.
9. Data Loss Protection Software
• Hal yang harus diperhatikan dalam memilih DLP
dalam rangka melindungi source code adalah:
– Mampu mengidentifikasi data yang berisi source code
– Mampu melakukan filtering terhadap aktifitas transfer
data berisi source code didalam jaringan ke luar
lingkungan perusahaan
– Mampu melakukan pencegahan terhadap aktifitas
copy file yang tidak diperkenankan untuk dicopy atau
memberikan batasan akses terhadap removeable
storage
11. MyDLP
• Melakukan filtering terhadap e-mail dan trafik
data via jaringan (masih perlu diperdalam)
• Bisa dikondisikan agar seluruh removeable
storage selalu terencrypt, artinya content yang
tersimpan di dalam removeable storage tidak
bisa dibuka selain di lingkungan yang terhubung
dengan MyDLP Office.
• Tersedia option comercial maupun comunity.
• Catatan: masih perlu pendalaman (explorasi)
13. Konklusi
• Proses pengembangan aplikasi merupakan salahsatu titik dimana
kemungkinan terjadinya disclosure baik terhadap data yang
dipergunakan (bila itu adalah data riil) maupun source
code/dokumentasi dari aplikasi itu sendiri.
• Untuk source aplikasi, selain kemungkinan terjadinya penggandaan
yang berimbas terhadap pelanggaran hal cipta, juga berpotensi
terjadinya pengambangan versi yang tidak konsisten
• Untuk itu perlu diterapkan langkah-langkah berikut:
– pengontrolan versi pengembangan dengan menerapan Version (Revision)
Control System
– Pencegahan aktifitas perbanyakan source secara tidak terotentifikasi
dengan menerapkan Data Leaked (Loss) Prevention
14. Solusi
• Gunakan CVS/SVN sebagai Version
Control System sehingga versi bisa lebih
terkontrol karena CVS/SVN bersifat
terpusat dan pembatasan akses relatif
lebih mudah dilakukan.
• Gunakan MyDLP untuk mencegah
penggunaan source code secara tidak
terotorisasi