Lindungi Source Code dengan DLP

Perusahaan teknologi yang mengembangkan aplikasi kustom, baik untuk penggunaan internal maupun untuk dijual, memiliki aset berharga yang layak dilindungi sebaik informasi pribadi pelanggan atau nomor kartu kredit – yaitu Source code. Bagi banyak perusahaan, kode sumber merupakan inti dari bisnisnya. Jika perusahaan Anda mengembangkan produk IT unik, source code nya seharusnya dilindungi sekuat resep asli ayam goreng terkenal di dunia. Namun, sayangnya, karena banyak alasan, menjaga kode sumber jauh lebih sulit dibandingkan resep yang disimpan dalam brankas baja dengan beberapa kunci.

Mengapa Source Code Begitu Berharga ?

Banyak aplikasi komersial memiliki keunggulan kompetitif besar karena hanya para penciptanya yang mengetahui secara pasti bagaimana aplikasi-aplikasi tersebut bekerja. Mereka mungkin menggunakan algoritma-algoritma unik atau trik-trik pemrograman cerdas yang membuat mereka lebih akurat, lebih cepat, atau lebih baik dalam berbagai cara dibandingkan dengan pesaing. Rahasia-rahasia semacam itu tersimpan dalam kode sumber.

Memahami mengapa kode sumber begitu berharga juga membutuhkan sedikit pemahaman tentang bagaimana program komputer diciptakan. Pada hampir semua arsitektur modern, para programmer menulis program dalam bahasa yang disebut bahasa tingkat tinggi seperti Java, Python, Ruby, atau C++ – inilah yang disebut source code. Bahasa-bahasa ini mudah dipahami oleh manusia dan memungkinkan kolaborasi yang mudah antar orang. Namun, sayangnya, bahasa-bahasa ini tidak begitu mudah dipahami oleh prosesor komputer, yang memerlukan set instruksi yang sangat dasar.

Setiap kali pengembang membuat versi baru dari source code, kode tersebut harus diubah menjadi instruksi-instruksi ini untuk komputer. Di masa lalu, banyak arsitektur melakukannya saat kode sedang berjalan menggunakan aplikasi khusus yang disebut interpreter, tetapi pendekatan ini tidak efisien. Saat ini, hampir semua bahasa memerlukan aplikasi khusus yang disebut kompiler, yang mengambil source code dan mengonversinya menjadi aplikasi yang sebenarnya, yang dapat dijalankan di komputer, dipublikasikan secara online, atau diunduh dan diinstal oleh pelanggan Anda.

Namun, Anda mungkin berpikir bahwa jika suatu aplikasi diunduh atau dipublikasikan secara online, siapa pun seharusnya dapat memahami bagaimana cara kerjanya dan mendapatkan kode sumbernya, bukan? Tidak begitu. Sama seperti Anda tidak dapat mengambil sepotong ayam goreng, menganalisanya, dan mengetahui semua rempah-rempah asli yang digunakan untuk membuatnya (dan kemudian menirunya), Anda tidak dapat dengan mudah mengonversi aplikasi kembali menjadi source code. Inilah sebabnya mengapa bisnis merasa aman untuk membuat aplikasi tersedia secara publik tetapi tidak akan melakukan hal yang sama dengan kode sumber mereka.

Siapa yang tertarik untuk Mencuri Source Code

Sementara pelaku utama di balik upaya pencurian source code mungkin pesaing yang licik, mungkin dari bagian dunia yang kurang ramah di mana hukum tidak terlalu memperhatikan, banyak pihak lain yang akan menemukan algoritma unik Anda sebagai santapan yang menggiurkan:

  1. Pedagang dark web: Mungkin ancaman terbesar terhadap kode sumber Anda adalah para profesional yang mencari nafkah dengan mencuri dari orang lain dan kemudian menjualnya kepada penawar tertinggi atau meminta tebusan agar kode tersebut tidak dipublikasikan. Seperti pencuri permata yang jarang berencana untuk mengekspos hadiahnya di rumah mereka sendiri untuk dinikmati, kebanyakan pencuri source code tidak tertarik dengan isi kode tersebut sama sekali. Mereka mencari korban yang mudah, mendapatkan source code, dan mempublikasikannya untuk dilelang di dark web atau memeras korban untuk dana yang substansial.
  2. Hacker amatir dan pseudo-aktivis: Pihak lain yang seringkali tidak tertarik dengan algoritma Anda tetapi dengan tindakan pencurian itu sendiri adalah yang disebut “script kiddies”. Mereka seringkali adalah orang muda yang bermasalah yang mencoba meningkatkan citra diri mereka dengan berpartisipasi dalam komunitas hacking ilegal, di mana mereka mendapatkan penghargaan tertinggi jika berhasil membobol proteksi dan mengekspos trofi mereka secara publik. Kasus serupa dapat terjadi dengan orang-orang yang percaya bahwa rahasia Anda harus diketahui publik agar semua orang dapat mengambil manfaat dari penelitian Anda “untuk kebaikan dunia”. Kerusakan dalam kasus-kasus ini bisa jauh lebih buruk dibandingkan dengan pencuri profesional karena informasi berharga Anda akhirnya dapat diunduh oleh siapa pun.
  3. Aktor negara: Bukan hanya pesaing yang gelap dari sisi lain dunia yang mungkin tertarik dengan algoritma unik Anda tetapi juga pemerintah di belakang mereka. Tujuan mereka mungkin bukan untuk memanfaatkan penemuan Anda tetapi lebih untuk melemahkan posisi Anda dan posisi negara Anda atau sekutunya. Pencurian itu sendiri membantu mereka menggerakkan mesin propaganda mereka dengan bukti betapa mudahnya target musuh mereka.

Tiga ancaman di atas hanya contoh dan bisa ada pihak lain yang akan mendapatkan manfaat baik dari konten yang dicuri, dari paparannya, atau dari fakta pencurian itu sendiri. Terakhir tetapi tidak kalah pentingnya, penyerang dapat diam-diam menggunakan source code yang dicuri untuk menjelajahi kerentanan dalam perangkat lunak. Ini membuat source code menjadi salah satu harta yang paling menjadi target di dunia yang didorong informasi saat ini.

Bagaimana Source Code Bisa Dicuri ?

Aplikasi modern dikembangkan oleh tim yang melibatkan banyak peran, dan semua peran ini memerlukan akses ke source code. Sayangnya, ini berarti bahwa para penyerang memiliki banyak titik masuk potensial untuk mencuri informasi berharga Anda, dan Anda harus melindungi setiap titik masuk ini. Secara keseluruhan, mencuri source code jauh lebih mudah daripada mencuri formula rahasia, dan tidak memerlukan jaringan yang rumit seperti yang digambarkan dalam film The Spanish Prisoner.

Sekali lagi, untuk memahami mengapa source code yang tidak dilindungi sangat mudah dicuri, kita harus memahami bagaimana perangkat lunak saat ini dibuat. Hampir setiap bisnis yang membangun aplikasi menyimpan seluruh source code aplikasi mereka menggunakan perangkat lunak khusus yang disebut sistem kontrol revisi, dan tempat di mana source code tersebut ditempatkan biasanya disebut sebagai repositori. Perangkat lunak khusus ini memudahkan pelacakan setiap perubahan yang dilakukan oleh tim yang terlibat dalam membangun dan memodifikasi source code, mengembalikannya jika diperlukan, atau bahkan membuat beberapa versi perangkat lunak secara bersamaan.

Sistem kontrol revisi paling populer saat ini disebut Git, dan repositori utama dapat disimpan entah di server perusahaan yang didedikasikan atau, misalnya, dikelola menggunakan solusi cloud seperti GitHub dan GitLab. Meskipun repositori ini biasanya sangat dilindungi dengan baik dan satu-satunya hal yang harus dikhawatirkan oleh bisnis adalah menggunakan kata sandi yang kuat dan otentikasi multi-faktor untuk mengaksesnya, sayangnya setiap orang yang bekerja pada perangkat lunak, seperti pengembang/programmer atau tester yang memberikan jaminan kualitas, perlu menyalin seluruh source code ke komputer lokal mereka. Ini berarti bahwa kode berharga Anda berada di puluhan atau bahkan ratusan laptop, seringkali tersebar di seluruh dunia!

Fakta ini saja sudah cukup menunjukkan bahwa source code sangat mudah dicuri, daripada menargetkan repositori pusat yang dilindungi dengan baik, penyerang menargetkan titik lemah: para pengembang atau tester serta laptop mereka. Lebih mudah untuk memanipulasi seseorang dengan menggunakan rekayasa sosial, atau bahkan mendapatkan akses fisik ke laptop tersebut daripada mencoba menembus perlindungan dari perusahaan besar yang menggunakan cloud atau meretas server perusahaan yang didedikasikan.

Tantangan -tantangan dalam mencegah pencurian source code dengan DLP

Seperti yang sudah kita sebutkan sebelumnya, titik akses paling mudah untuk mencuri source code adalah di endpoint – terutama laptop yang digunakan oleh pengembang perangkat lunak dan pengujian perangkat lunak, yang hampir setiap saat memiliki salinan lengkap dari source code aplikasi dalam repositori Git lokal yang tidak dilindungi, yang hanya merupakan direktori di disk lokal. Satu-satunya jenis perangkat lunak keamanan yang dapat membantu melindungi aset yang begitu banyak terpapar adalah perangkat lunak pencegahan kehilangan data (DLP) untuk endpoint.

Perangkat lunak DLP bekerja dengan cara memungkinkan pemilik perangkat untuk mengakses sumber daya yang dilindungi namun tidak memperbolehkan konten sensitif ini disalin-dan-ditempel ke aplikasi lain seperti jendela browser, aplikasi pesan, atau klien email. Namun, tantangan pertama sebenarnya adalah mengidentifikasi sumber daya yang perlu dilindungi, dalam hal ini – source code.

Meskipun relatif mudah bagi perangkat lunak keamanan untuk memindai semua file di disk lokal, menemukan source code dalam file-file tersebut tidaklah semudah yang mungkin terlihat. Bahasa pemrograman tingkat tinggi saat ini dirancang untuk mudah dipahami oleh manusia sehingga menggunakan kata-kata yang terdengar seperti bahasa alami. Meskipun beberapa dari mereka penuh dengan konstruksi yang tidak umum dalam konten lain, seperti titik koma dan kurung, banyak yang menghindari tantangan tersebut. Secara keseluruhan, perangkat lunak DLP harus mampu mengenali tidak hanya bahasa pemrograman yang paling umum dan mudah dikenali seperti Java, tetapi juga yang lebih menantang seperti Python, Ruby, atau SQL. Inilah tempat di mana perangkat lunak DLP Endpoint Protector menonjol dengan algoritma kategorisasi teks berbasis N-gram yang unik, yang mencapai akurasi 98% dalam mengidentifikasi bahasa pemrograman.

Pentingnya efisiensi dalam melindungi Source Code

Keakuratan dalam mengidentifikasi source code, di mana Endpoint Protector sudah terkenal, adalah salah satu alasan mengapa perangkat lunak ini sangat cocok untuk mengamankan source code. Namun, tidak ada cara bagi perangkat lunak DLP untuk membedakan antara source code properti dan source code lainnya di disk lokal, seperti perpustakaan open-source atau source code sistem operasi (misalnya di sistem macOS). Oleh karena itu, efisiensi dalam pemrosesan sangat penting karena potensi untuk meliputi lebih dari sekadar fragmen source code yang paling sensitif.

Terakhir tetapi tidak kalah pentingnya, source code bukanlah komoditas yang diunduh hanya untuk sesaat dan kemudian tidak pernah digunakan lagi, seperti banyak jenis informasi pribadi. source code berada secara permanen di disk pengembang dan berada dalam keadaan perubahan yang terus-menerus. Setiap hari, pengembang memodifikasi file, menyalin fragmen kode, membuat file baru, membukanya di lingkungan pengembangan, dan menyinkronkan semuanya dengan repositori cloud/server, yang berpotensi mengunduh banyak informasi baru yang dibuat oleh pengembang lain. Oleh karena itu, segala jenis aktivitas DLP juga harus sangat efisien untuk tidak memperlambat proses akses yang intens ini.

Dalam hal pencegahan yang efisien terhadap pencurian kode sumber dari endpoint, Endpoint Protector memenuhi semua persyaratan. Dan, sebagai bonusnya, kita bisa mengakui bahwa ya, kita melindungi kode sumber Endpoint Protector menggunakan DLP

Cari tau dan konsultasikan dengan kami, hubungi endpointprotector@ilogoindonesia.id