
Credit image: Freepix
Taktik Canggih Peretas Mencuri Data Rahasia Lewat Asisten Coding AI – Setiap beberapa minggu, para peneliti keamanan menemukan cara baru untuk mengakali alat-alat Kecerdasan Buatan (Artificial Intelligence – AI) yang ditanamkan dalam berbagai platform perangkat lunak.
Karena banyak perusahaan lebih fokus pada menyediakan fitur AI daripada mengamankan fitur tersebut, celah untuk kejahatan siber pun terbuka lebar.
Namun, kabar baik datang dari GitHub dan asisten coding mereka, Copilot. GitHub tampaknya telah meningkatkan keamanan mereka secara signifikan.
Buktinya, peneliti menemukan cara yang sangat rumit yang dijuluki “CamoLeak hanya untuk bisa membuktikan bahwa Copilot masih bisa dicuri datanya.
CamoLeak adalah metode yang sangat rumit, ibarat melewati labirin panjang hanya untuk mencuri sedikit harta karun.
Menurut peneliti, taktik ini hanya ditujukan untuk mencuri sejumlah kecil data saja. Namun, data kecil itu bisa berupa hal yang sangat penting, seperti kata sandi, kunci privat (private keys) atau token rahasia lainnya.
Peneliti memprediksi, jika ini dilakukan di dunia nyata, kemungkinan besar tidak akan terdeteksi baik oleh pengguna maupun oleh GitHub.
Baca juga: Meretas Beragam Wajah Phising |
Tahap 1: Injeksi Perintah Tersembunyi (Prompt Injection)
Untuk mencuri data dari pengguna GitHub lain menggunakan Copilot, peretas perlu cara agar Copilot milik korban mau melakukan perintah mereka.
Dalam percobaan yang dilakukan oleh peneliti Omer Mayraz, peretas (penyerang) menuliskan perintah ke dalam komentar tak terlihat (invisible comment) pada sebuah pull request (permintaan perubahan kode).
Kemudian, sang peneliti (berperan sebagai korban) meminta Copilot untuk menjelaskan pull request tersebut. Copilot pun melakukan dua hal: menjelaskan pull request dan melakukan apa yang diminta oleh perintah tersembunyi tadi.
Aksi ini saja sudah mengkhawatirkan karena membuktikan bahwa, menggunakan komentar tersembunyi, penyerang dari jarak jauh bisa memengaruhi hasil keluaran Copilot korban.
Mereka bisa, misalnya, membuat Copilot menyarankan perubahan kode yang sebenarnya diinginkan oleh peretas, dengan dalih objektivitas Copilot.
Namun, tujuan akhir CamoLeak lebih jauh: memaksa Copilot korban mencuri data sensitif ke situs web yang dikendalikan peretas.
Fitur Keamanan “Camo” GitHub
Tentu, peretas bisa saja langsung memerintahkan Copilot untuk mengirim data ke URL eksternal, tetapi Copilot sudah cukup pintar untuk menolak permintaan yang terang-terangan jahat tersebut. Peretas butuh cara untuk mengemas instruksi jahat ini dalam bungkus yang terlihat aman.
Bentuk penyamaran yang paling mungkin adalah menggunakan file gambar, atau lebih tepatnya tag <img> dalam HTML. GitHub mengizinkan pengguna menyertakan gambar dalam repositori mereka dengan menautkannya ke situs eksternal.
Peretas bisa menautkan ke gambar di situs mereka sendiri dan meminta Copilot menyertakan data korban yang dicuri sebagai parameter pada tautan gambar tersebut.
Mengetahui taktik ini, GitHub memiliki fitur keamanan bernama “Camo” yang bertindak sebagai proxy aman untuk gambar pihak ketiga.
Camo memutus tautan langsung antara pengguna dan situs hosting gambar, dengan menyaringnya melalui server GitHub dan memberinya URL Camo yang ditandatangani secara kriptografis.
Berkat Camo, peretas tidak bisa meminta Copilot mengirim data sembarangan ke situs mereka, karena menambahkan parameter berbahaya apa pun pada tautan gambar akan melanggar segel kriptografi tersebut.
Baca juga: ClickFix Bidik Windows dan Linux |
Tahap 2: Trik Melewati Camo (The Camo Bypass)
Solusi yang ditemukan sungguh kreatif, mengubah Camo menjadi alat transmisi data yang tidak disadari:
- Ia menyiapkan server web dengan hampir 100 piksel tunggal transparan (gambar yang tidak terlihat oleh mata pengguna). Setiap piksel ini didaftarkan ke GitHub untuk mendapatkan tautan Camo individu.
- Setiap piksel yang diwakili oleh tautan Camo, diberi arti sebagai sebuah karakter ASCII tertentu: 0 sampai 9, A sampai Z (huruf besar dan kecil), dan simbol khusus. Ini berfungsi sebagai kamus.
- Perintah yang disuntikkan kemudian menginstruksikan Copilot untuk mengambil data sensitif dari korban dan menyajikannya sebagai urutan gambar berdasarkan kamus ini. Misalnya, jika kata sandinya adalah “KUNCI_A”, Copilot akan mengubahnya menjadi urutan gambar piksel yang mewakili K, U, N, C, I, _, dan A.
- Agar gambar-gambar ini muncul, GitHub perlu mengambil piksel yang relevan dari situs yang dikendalikan peretas. Ketika server peretas menerima permintaan untuk gambar A, lalu gambar W, dan seterusnya, peretas akan merekam urutan permintaan tersebut dan dengan demikian mengetahui kata sandi atau kunci yang sedang “dirender.”
Sepanjang proses ini, korban tidak melihat apa-apa karena gambar piksel yang dirender sangat kecil dan pada dasarnya tidak terlihat.
Apakah Pertahanan AI GitHub Cukup Baik?
CamoLeak bukanlah cara untuk mencuri file kode sumber berukuran besar. Fokusnya adalah pada kebocoran data sensitif yang selektif dan kecil, yang dapat dikirim hanya dalam hitungan menit.
Untuk mencegah penyerang menggunakan trik CamoLeak, GitHub mengambil tindakan: mereka menonaktifkan semua rendering gambar di Copilot chat sejak Agustus.
Ini adalah solusi yang signifikan meski kurang halus dari sebuah organisasi yang termasuk paling maju dalam melindungi dari teknik injeksi perintah secara umum.
Intinya, CamoLeak membuktikan bahwa meskipun perusahaan seperti GitHub sudah “berpengalaman perang” dan bekerja keras melindungi penggunanya melebihi standar industri, para peretas akan selalu datang dengan ide-ide kreatif baru untuk mengeksploitasi alat AI yang terus mendapatkan lebih banyak “kekuatan” di dalam sistem perusahaan.
Pelajaran penting bagi pengguna, Kewaspadaan terhadap bagaimana perintah dikirim ke alat AI adalah sama pentingnya dengan kewaspadaan terhadap tautan phising.
Sumber berita: