Sistem Program Baru Dapat Membantu Mencegah Kebocoran Informasi

Dikembangkan oleh ilmuwan komputer, Aeolus adalah sistem program baru yang dapat membantu mencegah kebocoran informasi yang tidak disengaja dengan secara otomatis melacak hak akses data pengguna.

Dua tahun lalu, bandar bola situs jejaring sosial baru yang disebut Blippy secara tidak sengaja memposting nomor kartu kredit penggunanya secara online. Sementara itu adalah contoh yang sangat mengerikan, kebocoran informasi yang tidak disengaja terjadi sepanjang waktu: Pada bulan April, misalnya, kantor jaksa agung Texas mengirim informasi kelompok hak-hak sipil pada 13,1 juta pemilih terdaftar – termasuk, secara tidak sengaja, nomor Jaminan Sosial lengkap dari banyak dari mereka. Kurang dari sebulan sebelumnya, kota Providence, Rhode Island, secara tidak sengaja merilis nomor Jaminan Sosial dari hampir 3.000 mantan karyawan negara bagian ke organisasi berita lokal.

Pada Konferensi Teknis Tahunan ASENIX di Boston minggu lalu, para peneliti MIT mempresentasikan sistem pemrograman baru yang dapat membantu mencegah kebocoran informasi yang tidak disengaja.

Sistem, yang dijuluki Aeolus, dirancang untuk pemrogram yang mengembangkan aplikasi Web yang besar dan terdistribusi, dan secara otomatis melacak hak akses data pengguna. Sementara para akademisi telah menyelidiki sistem seperti itu selama bertahun-tahun, Institut Profesor Barbara Liskov, yang memimpin pekerjaan baru, mengatakan Aeolus harus membuktikan lebih mudah digunakan daripada pendahulunya. Dan itu, menurutnya, akan membuat programmer profesional lebih mungkin untuk mengadopsinya.

“Hanya membuat mudah untuk melakukan hal-hal seperti ini berarti orang akan cenderung melakukannya,” kata Liskov, pemenang Penghargaan Turing 2008, penghargaan tertinggi dalam ilmu komputer. “Di sisi lain, jika itu sulit dilakukan, pengembang aplikasi mungkin tidak akan melakukannya.”

Ketika seorang pengguna dari setiap aplikasi Web log on, dia biasanya harus memberikan nama pengguna dan kata sandi. Tapi itu tidak berarti pemeriksaan otorisasi terakhir yang dilakukan aplikasi. Setiap kali pengguna memanggil fungsi aplikasi baru – memindahkan uang antar rekening bank, misalnya, atau membuat catatan dalam rekam medis pasien – aplikasi memverifikasi bahwa pengguna memiliki otorisasi yang sesuai. Verifikasi tersebut terjadi di belakang layar, tetapi pengembang aplikasi masih harus memprogramnya. Jika pengembang dengan benar menyediakan seribu pemeriksaan keamanan tetapi kehilangan satu, aplikasi tidak aman.

Oleh karena itu kebutuhan untuk alat pengembangan perangkat lunak yang melacak otorisasi secara otomatis. Sistem seperti itu sebelumnya, kata Liskov, menggunakan apa yang disebut peneliti keamanan model kapabilitas. Kemampuan seperti tiket masuk yang memberi wewenang kepada pemegang untuk mengakses informasi tertentu (kecuali bahwa tiket disimpan di komputer pengguna, dan pengguna tidak pernah tahu ada di sana). Fungsi yang berbeda dalam aplikasi Web memerlukan tiket mereka sendiri, dan tiket dapat diteruskan bolak-balik antara pengguna. Ketika seorang pengguna mencoba untuk memanggil suatu fungsi, aplikasi hanya memverifikasi bahwa dia memiliki tiket yang sesuai.

Secara teknis, pendekatan semacam itu sangat mungkin, tetapi dalam praktiknya, Liskov mengatakan, sulit bagi programmer untuk memikirkannya. Programmer tidak perlu menulis kode untuk pemeriksaan keamanan atau alokasi tiket, tetapi dia harus menyusun aturan tentang pengguna mana yang harus menerima tiket mana yang pada kesempatan tertentu, dan konsekuensi dari pilihan aturan tertentu dapat menjadi sulit untuk menelusuri.

Aeolus, yang dikembangkan Liskov bersama dengan mantan mahasiswa pascasarjananya Winnie Cheng, mahasiswa pascasarjana saat ini Dan Ports, David Schultz dan James Cowling, dan rekan-rekan di Universitas Stanford, Universitas Princeton dan Universitas Brandeis, memberikan cara yang lebih intuitif untuk memikirkan otorisasi. Alih-alih memberikan aturan untuk dispensasi tiket, programmer hanya menggambarkan hirarki pengguna sistem. Dalam sistem data medis, misalnya, informasi diagnostik mungkin tersedia bagi dokter perawatan primer pasien, tetapi hanya informasi kontak dan waktu janji yang berada di bawah kendali staf administrasi. Kredensial login seorang pengguna mengidentifikasi dia sebagai pemilik strata tertentu dari hirarki, dan Aeolus menangani sisanya.

Di antara keuntungan lainnya, pendekatan hirarkis membuatnya lebih mudah untuk mencabut hak akses. Seorang dokter yang mengubah klinik, misalnya, mungkin masih memerlukan akses ke basis data medis di seluruh negara bagian, tetapi seharusnya tidak lagi dapat melihat informasi pribadi pasien sebelumnya. Dengan model kapabilitas, yang memerlukan rescinding tiket dokter; dengan Aeolus, di sisi lain, dokter hanya diturunkan ke anak tangga yang lebih rendah dalam hirarki.

Dibutuhkan mesin yang rumit, bagaimanapun, untuk membuat sistem sangat mudah digunakan. Aeolus mencakup beberapa mekanisme penting yang bekerja di latar belakang untuk menjaga keamanan. Ketika seorang pengguna login ke aplikasi Web, aplikasi harus melacak semua transaksi yang dilakukan pengguna. Karena rekaman itu terus diperbarui, disimpan dalam memori akses-tinggi berkecepatan tinggi. Aeolus memastikan bahwa tidak ada data dalam catatan transaksi yang dapat bocor ke pengguna lain dari aplikasi yang sama atau aplikasi lain yang berjalan di server yang sama. Demikian pula, seseorang yang tinggi dalam hirarki otorisasi mungkin ingin menggunakan perangkat lunak pihak ketiga untuk menganalisis data istimewa; Aeolus secara otomatis memastikan bahwa otoritas pengguna tidak berpindah ke perangkat lunak. Perangkat lunak ini dapat memanipulasi data, tetapi tidak dapat membocorkannya ke dunia luar.

Memang, ini memunculkan titik sentral tentang Aeolus: Ini adalah sistem untuk mengontrol arus informasi, bukan akses data. Artinya, orang-orang di bagian bawah hierarki dapat melihat informasi istimewa di layar komputer mereka; mereka tidak dapat melakukan hal lain dengannya, seperti menempelkannya ke dalam dokumen pengolah kata – atau secara tidak sengaja mempostingnya secara online.

“Kepercayaan orang yang bekerja pada pendekatan kedua ini, yang merupakan pendekatan aliran informasi, adalah membuatnya lebih mudah untuk membangun aplikasi, dibandingkan dengan pendekatan kontrol akses,” kata Liskov. Pengguna jahat masih bisa menemukan cara untuk melepaskan informasi pribadi. Namun, Liskov mengatakan, “kenyataannya adalah saat ini masalah terbesar adalah kesalahan sederhana: ‘Saya tidak bermaksud melakukan ini tetapi hanya melakukannya secara tidak sengaja.'”

Bahkan dengan pendahulu Aeolus, “keuntungan dalam hal keamanan yang kuat sangat nyata,” kata Andrew Myers, seorang profesor ilmu komputer di Cornell University. “Tapi itu semacam analisis biaya-manfaat: Bagi sebagian besar pengembang, biaya dalam hal mengubah cara Anda melakukan banyak hal sudah cukup tinggi sehingga mereka tidak bersedia melakukan perubahan itu.” Namun, dengan Aeolus, “Anda dapat tentukan kebijakan keamanan dengan cara yang jauh lebih intuitif, ”kata Myers. “Manajemen pencabutan juga secara signifikan lebih canggih daripada pekerjaan sebelumnya.”

Apakah perbaikan itu menurunkan biaya adopsi yang cukup sehingga para pengembang akan mulai menggunakan sistem seperti itu masih harus dilihat, kata Myers. Tetapi “pada titik tertentu kita akan mencapai titik puncak pepatah.”