Tugas Keamanan Informasi : Self-generating Code

Bismillah,

Pada postingan kali ini, kembali ditujukan untuk pengerjaan tugas kuliah Keamanan Informasi. Pada tugas kali ini, deskripsinya adalah sebagai berikut:

Tugas Anda adalah membuat self-generating code seperti yang ada di paper Ken Thompson, Reflections on Trusting Trust. Bahasa pemrograman bebas.

Untuk pengerjaan tugas ini saya akan mencoba menulis Self-generating Code menggunakan bahasa perl.kodenya kurang lebih sebagai berikut:

#!/usr/local/bin/perl
$a='#!/usr/local/bin/perl%c$a=%c%s%c;printf($a,10,39,$a,39,10);%c';printf($a,10,39,$a,39,10);

Langsung saja penjelasan dimulai dari instruksi terakhir, yaitu printf($a,10,39,$a,39,10);. Perintah ini mencetak argumen kedua dan seterusnya menggunakan format yang didapat dari argumen pertama yang berupa sebuah string. Pada contoh ini, format yang digunakan berasal dari variabel string $a, yaitu

'#!/usr/local/bin/perl%c$a=%c%s%c;printf($a,10,39,$a,39,10);%c'

. Dengan printf(), substring-substring %c selanjutnya digantikan oleh argumen yang bersesuaian dalam format karakter, sedangkan %s dengan format string. Dengan demikian, setiap %c dalam variabel $a akan digantikan oleh karakter yang memiliki kode ascii bersesuaian dengan 39 dan 10, dan %s akan digantikan oleh isi dari variabel $a itu sendiri.Maka output program di atas adalah:

#!/usr/local/bin/perl
$a=’#!/usr/local/bin/perl%c$a=%c%s%c;printf($a,10,39,$a,39,10);%c’;printf($a,10,39,$a,39,10);

yang menghasilkan dengan kode awal.

sekian postingan kali ini.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s