ANALISA KEAMANAN SISTEM PENDUKUNG KEPUTUSAN UNTUK MENENTUKAN CALON PENERIMA BEASISWA DIREKTORAT PENDIDIKAN TINGGI (DIKTI) MENGGUNAKAN TOUCHPOINT SOFTWARE SECURITY (Studi Kasus: Mahasiswa FMIPA Universitas Pakuan)
Disusun Oleh : Deden Ardiansyah 1311600520
UNIVERSITAS BUDI LUHUR FAKULTAS TEKNOLOGI INFORMASI JURUSAN MAGISTER ILMU KOMPUTER JAKARTA 2014
BAB I PENDAHULUAN I.1
Latar Belakang Pada setiap lembaga pendidikan khususnya universitas banyak sekali
beasiswa yang diberikan kepada mahasiswa, salah satunya adalah beasiswa yang diberikan oleh pemerintah. Pemerintah melalui Direktorat Jendral Pendidikan Tinggi Departemen Pendidikan Tinggi (Dikti) memberikan dua jenis beasiswa yaitu Peningkatan Prestasi Akademik (PPA) yang diberikan kepada mahasiswa berprestasi dan beasiswa Bantuan Belajar Mahasiswa (BBM) yang diberikan kepada mahasiswa yang kurang mampu. Dikti berhak menentukan jumlah kuota dan syarat berupa kriteria-kriteria yang harus dipenuhi mahasiswa calon penerima PPA dan BBM pada setiap universitas. Pemberian bantuan belajar berupa beasiswa PPA dan BBM juga di berikan pemerintah kepada mahasiswa di Universitas Pakuan. Dari total banyaknya penerima beasiswa yang ditentukan Dikti ke Universitas Pakuan, pihak universitas kembali menentukan jumlah mahasiswa calon penerima beasiswa di setiap fakultas, termasuk diantaranya yaitu Fakultas MIPA. Proses penentuan calon penerima beasiswa di Fakultas MIPA dilakukan dengan cara seleksi berkas. Seleksi berkas pemohon PPA dilihat berdasarkan nilai IPK sedangkan untuk pemohon BBM dilihat berdasarkan jumlah tanggungan dan penghasilan orang tua. Pengelolaan data yang belum terakumulasi menggunakan sistem basis data secara optimal juga menyebabkan kesulitan dalam pemrosesan data. Hal ini menyebabkan lamanya proses penentuan calon penerima beasiswa. Berdasarkan
hal tersebut
untuk
membantu
penentuan calon penerima
beasiswa yang berhak memperoleh beasiswa, maka dibutuhkan sebuah sistem pendukung keputusan yang aman. Oleh karena itu, penulis membuat tulisan yang berjudul Analisa Keamanan Sistem Pendukung Keputusan Untuk Menentukan Calon
Penerima Beasiswa Direktorat Pendidikan Tinggi (Dikti) Menggunakan Seven Touchpoint Software Security. 1.2
Identifikasi Masalah Dari latar belakang di atas dijelaskan bahwa sistem pendukung keputusan
penentuan beasiswa belum diketahui kelemahan atas sistem tersebut. 1.3
Pembatasan Masalah Dari identifikasi masalah di atas permasalahan yang akan dibahas pada
penulisan ini hanya ingin mengetahui kelemahan sistem pendukung keputusan menggunakan seven touchpoint software security. 1.4
Rumusan Masalah Dari batasan masalah diatas penulis membuat sebuah rumusan masalah yaitu
bagaimana mengetahui kelemahan sebuah sistem dengan menggunakan seven touchpoint software security. 1.5
Tujuan Penelitian Penulisan ini bertujuan untuk mengetahui kelemahan sistem pendukung
keputusan untuk menentukan calon penerima beasiswa di Fakultas Matematika dan Ilmu Pengetahuan Alam ( MIPA ) Universitas Pakuan. 1.6
Manfaat Penelitian Dari tujuan penulisan diatas bisa diambil manfaat penelitian ini adalah : 1. Agar mengetahui kelemahan sistem dari segi coding, penetrasi, design, arsitektur untuk bisa diantisipasi oleh pengguna atau user. 2. Agar calon penerima beasiswa dapat diterima oleh orang yang tepat sasarannya.
BAB II TINJAUAN PUSTAKA 2.1
Sistem Penunjang Keputusan Sistem penunjang keputusan sebagai sebuah sistem yang memberikan
dukungan kepada seorang manajer, atau kepada sekelompok manajer yang relative kecil yang bekerja sebagai team pemecah masalah, dalam memecahkan masalah semi terstrukitur dengan memberikan informasi atau saran mengenai keputusan tertentu. Informasi tersebut diberikan oleh laporan berkala, laporan khusus, maupun output dari model matematis. Model tersebut juga mempunyai kemampuan untuk memberikan saran dalam tingkat yang bervariasi. 2.2
Beasiswa Beasiswa merupakan bantuan pendidikan yang diberikan kepada mahasiswa
yang mengalami kesulitan ekonomi dan/atau memilki prestasi yang baik. Beasiswa adalah bantuan dan dukungan pendidikan yang diberikan kepada mahasiswa yang terdiri atas Beasiswa Yayasan dan Beasiswa Kopertis. Beasiswa yang diberikan kepada mahasiswa dapat bersifat mengikat (ikatan kerja) dan atau tidak mengikat. Tujuan dari pemberian beasiswa diantaranya yaitu untuk membantu biaya studi, mendorong prestasi studi mahasiswa dan menumbuhkan kepedulian terhadap almamater. (Sumber : http://uncp.ac.id/beasiswa/) 2.2.1
Beasiswa Diknas Pemerintah melalui Direktorat Jenderal Pendidikan Tinggi Kementrian
Pendidikan Nasional berupaya mengalokasikan dana untuk memberikan bantuan kepada mahasiswa yang secara ekonomi tidak mampu untuk membiayai pendidikannya dan memberikan beasiswa kepada mahasiswa yang mempunyai prestasi tinggi, baik dibidang akademik maupun bidang ekstrakulikuler. Agar program penyaluran beasiswa Peningkatan Prestasi Akademik (PPA) dan Bantuan Belajar Mahasiswa (BBM) dapat dilaksanakan sesuai dengan prinsip 3T,
yaitu : Tepat Sasaran, Tepat Jumlah dan Tepat Waktu maka diharapkan para pimpinan perguruan tinggi dalam melakukan sosialisasi, seleksi dan penyaluran Peningkatan Prestasi Akademik (PPA) dan Bantuan Belajar Mahasiswa (BBM) mengacu pada pedoman program PPA dan BBM. 2.2.2 Beasiswa Peningkatan Prestasi Akademik (PPA) Beasiswa ini bertujuan membantu meringankan beban orang tua mahasiswa terutama dari keluarga kurang mampu secara ekonomi. Beasiswa PPA adalah beasiswa yang diberikan untuk peningkatan pemeratan dan kesempatan belajar bagi mahasiswa yang mengalami kesulitan membayar biaya pendidikannya sebagai akibat krisis ekonomi, terutama bagi mahasiswa yang berprestasi akademik. Adapaun tujuan PPA secara umum yaitu : 1.
Meningkatkan pemerataan dan kesempatan belajar bagi mahasiswa yang mengalami kesulitan membayar pendidikan;
2.
Mendorong dan mempertahankan semangat belajar mahasiswa agar mereka dapat menyelesaikan studi/pendidikan tepat waktunya.
3.
Mendorong untuk meningkatkan prestasi akademik sehingga memacu peningkatan kualitas pendidikan.
2.2.3
Beasiswa Bantuan Belajar Mahasiswa (BBM) Beasiswa BBM sama dengan PPA, terutama tujuan dan definisnya, yaitu
memberikan bantuan kepada mahasiswa yang mengalami kesulitan membayar biaya pendidikannya. Sama dengan PPA, tujuannya membantu meringankan beban orang tua dari kalangan ekonomi lemah.Begitu juga dengan persyaratan pengajuannya sama dengan PPA, hanya saja IPK untuk pengajuan BBM minimal 2,50, lebih rendah dari pengajuan beasiswa PPA. Beasiswa jenis ini muncul sebagai pengganti Beasiswa Peningkatan Prestasi Ekstrakurikuler (PPE) yang tidak ada lagi sejak tahun 2005. PPE diberikan untuk peningkatan prestasi di bidang ekstrakurikuler bagi mahasiswa yang mempunyai keterampilan atau kejuaraan-kejuaraan serta kegiatan-kegiatan di tingkat Regional,
Nasional dan Internasional yang diikutinya tetapi mengalami kesulitan untuk mengembangkan keahliannya. (Sumber : http://www.upi.edu/kemahasiswaan/beasiswa/persyaratan-beasiswa) 2.3
Touch Point Software Security Seven Touch Point Software Security adalah sekumpulan jaminan sekuritas
yang universal yang dapat memprediksi, mengetahui dan memahami resiko yang akan datang pada software dari segi code review, desain arsitektur, penetration testing, resiko mendasar dalam security, usecase, security requirement, dan security operation.
Gambar 1. Seven Touchpoint Gary Mcgraw 2.3.1
Code Reveiew Code Review merupakan review coding untuk menghasilkan kualitas coding
dengan manajemen terbaik. Serta membuat setiap user dapat menggunakan atau membuat coding dengan manajemen yang baik sehingga dapat meminimalisir kesalahan. Dengan menggunakan software ITS4 ( Its Software Stupid Security Scanner ) contohnya RATS, Flawfinder, sonar dll. Code Review scanner seperti software contoh di atas mempunyai metode yang sangat mendasar untuk menganalisis code. Dengan menggunakan metode seperti gambar 1.
Gambar 1. Secure Coding Rules 2.3.2
Desain dan Architektur Suatu sistem, entah itu besar atau tidak, dibangun dari sub-sub sistem yang
lebih kecil. Sub-sub sistem ini memiliki fungsi sendiri-sendiri. Proses merancang untuk menentukan sub-sub sistem dan membangun kerangka kerja untuk kendali dan komunikasi antar sub sistem disebut design arsitektural. Proses merancang ini menghasilkan arsitektur software atau arsitektur sistem. Desain arsitektur adalah aktifitas desain yang pertama dalam pembangunan software seperti yang digambarkan pada Gambar 1.
Gambar 2: Aktifitas Desain dan hasil rancangan
Desain arsitektur memberikan 3 keuntungan yaitu: 1. Arsitektur software menjadi media komunikasi dan diskusi karena mudah dipahami 2. Memberi kemudahan dalam melakukan analisis terhadap software yang akan dibangun 3. Arsitektur-nya bisa digunakan lagi untuk sistem selanjutnya (reusable) tiap perancang sistem memiliki kemampuan dan pengetahuan yang berbeda dalam merancang arsitektural. Aktifitas-aktifitas berikut adalah aktifitas dalam merancang dan aktifitas ini tidak dikerjakan satu persatu berurutan, tapi bisa dilakukan bersamaan. Untuk menghindari kesalahan dalam pemahaman terhadap istilah modul dan sub sistem, perlu diketahui bahwa sub sistem adalah bagian dari sistem yang bisa berdiri sendiri dan tidak bergantung pada layanan sub sistem lain. Sub sistem terdiri dari beberapa modul dan dilengkapi interface untuk berkomunikasi / bertukar data dengan sub sistem lain. 2.3.3
Panetration Testing Panetration Testing adalah istilah untuk menguji kehandalan sistem yang
berbasis teknologi informasi. Diharapkan dengan penetration testing didapatkan informasi kelemahan (vulner) dari setiap komponen sistem. Komponen sistem bisa berupa perangkat jaringan, router, server, aplikasi, dan konten lainnya. Agar mendapatkan penetration testing yang lebih baik dengan mengahasilkan sesuai dengan keinginan harus mengikuti langlah – langkah berikut : 1. Panetrasi harus dilakukan dari awal dampai akhir sesuai dengan alur
sistem tersebut berjalan. 2. Panetrasi harus bisa dirasakan oleh pengguna yang hasilnya menghasilkan
resiko yang dirasakan oleh pengguna. 3. Panetrasi yang baik adalah dengan menemukan permasalah dalam
mengkonfigurasi yang berasal dari faktor lingkungan yang lain.
4. Dengan menggunakan tools yang dapat menjaga software dasarnya, tools
cocok untuk metriknya sendiri, misalnya fault injection tools, attakers toolkit. 2.3.4
Risk Based and Security Testing Risk based security testing memiliki banyak kesamaan dengan metode
sebelumnya yaitu panetratin testing. Perbedaan mendasar dari risk based security testing dan penetration testing adalah tingkat pendekatan dari test tersebut dan waktu pengujian yang dilakukan masing-masing testing. Dari pengertiannya penetration merupakan aktifitas yang dilakukan setelah aplikasi atau sistem telah dipasang dilingkungan operational sedangkan security testing dapat dilakukan sebelum aplikasi di pasang pada lingkunga operasional dan sistem tersebut belum selesai seperti dilakukan pada tingkat modul pembuatan yang disebut dengan praintegrasi. 2.3.5
Abuse Case Abuse Case merupakan model spesifikasi untuk persyaratan keamanan yang
digunakan dalam industri pengembangan perangkat lunak. Kasus Penyalahgunaan istilah merupakan adaptasi dari use case. Istilah ini diperkenalkan oleh John McDermott dan Chris Fox pada tahun 1999, saat bekerja di Departemen Ilmu Komputer dari Universitas James Madison. Seperti yang didefinisikan oleh penulisnya, kasus penyalahgunaan adalah jenis interaksi yang lengkap antara sistem dan satu atau lebih aktor, di mana hasil dari interaksi berbahaya bagi sistem, salah satu aktor, atau salah satu stakeholder dalam sistem. Kita tidak dapat menentukan kelengkapan hanya dalam hal transaksi koheren antara aktor dan sistem. Sebaliknya, kita harus mendefinisikan penyalahgunaan dalam hal interaksi yang mengakibatkan kerugian yang sebenarnya. Sebuah kasus pelecehan lengkap mendefinisikan interaksi antara aktor dan sistem yang menghasilkan kerusakan pada sumber daya yang terkait dengan salah satu aktor, salah satu stakeholder, atau sistem itu sendiri. Abuse case dibuat bersama-sama dengan diagram use case yang sesuai, tetapi tidak dalam diagram yang sama (berbeda dari miss use case). Tidak ada istilah baru
atau simbol-simbol khusus diperkenalkan untuk abuse case diagram. Mereka tertarik dengan simbol-simbol yang sama dengan diagram use case. Untuk membedakan antara keduanya, kasus penggunaan diagram dan diagram kasus penyalahgunaan disimpan terpisah, dan terkait. Oleh karena itu kasus abuse case tidak muncul dalam penggunaan use case diagram. 2.3.6
Security Operation Security Operation merupakan phase life cycle software dimulai ketika
software sudah selesai dibangun. Biasanya software digunakan tidak digunakan oleh orang diluar organisasi pengembang atau disebut sebagai tester murni. Biasanya, software tersebut dinamakan beta testing. Beta testing dilaksanakan pada tahtap operasional untuk mengetahui kelemahan dari software tesebut.
BAB III DISKUSI 3.1
Sistem Penunjang Keputusan Halaman utama website berupa form login yang harus diisi berdasarkan
levelisasi user untuk dapat masuk ke halaman sesuai dengan levelnya masing-masing. Pada bagian front-end levelnya terdiri dari Pembantu Dekan Bidang Kemahasiswan, Fakultas dan Prodi sedangkan pada back-end hanya dapat diakses oleh Super Admin. Gambar 5.1 merupakan tampilan halaman login :
Gambar 5.1 Halaman Login 3.2
Pembahasan Pada tahap ini akan dibahas hasil sistem secara rinci mengenai levelisasi hak
akses dan fungsi dari navigasi yang terdapat dalam website. Sistem penunjang keputusan beasiswa Diknas ini memuat 9 navigasi. Namun hak akses navigasi untuk setiap level tidak sama, navigasi disesuaikan dengan kebutuhan informasi pada setiap level. Navigasi yang dapat diakses pada masing-masing level dapat dilihat pada tabel Tabel 3.1.
Tabel 3.1 Navigasi pada Levelakses Level Navigasi
Super Admin
PD III
Fakultas
Program Studi
Program Studi
Beasiswa
Kuota
PPA
BBM
History
Grafik
Akun
Modul
Logout
3.2.1 Akses Halaman Level Super Admin Gambar 3.2 adalah halaman Super Admin memuat sejumlah menu yaitu Beranda, Modul, Program Studi, Beasiswa, Kuota, PPA, BBM, History, Grafik,Akun dan Logout :
Gambar 3.2 Halaman Super Admin
3.3
Uji Coba Dengan Touchpoint
3.3.1
Code Review Pengujian pada tahap code review yaitu menggunakan aplikasi RIP. RIP
merupakan tools yang dibuat dalam PHP untuk menemukan kerentanan dalam aplikasi PHP yang menggunakan analisis kode statis. Dengan tokenizing dan parsing semua file source code RIPS mampu mengubah model program dan untuk mendeteksi potentially vulnerable functions yang dapat di input pengguna. Selain utput terstruktur kerentanan ditemukan RIPS juga menawarkan audit code terintegrasi framework manual analysis. Hasil pengujian menggunakan RIPS sebai berikut :
Gambar 3.3 Hasil Pengujian Sistem Dari hasil pengujian sistem terlihat bahwa : Sistem ini dibuat dengan menggunakan DBMS MySQL dengan code merupakan object oriented yang tidak support terhadapnya dan bisa menghasilkan banyak kesalahan. File yang di scan dalam sisitem ini ada 32 file dengan code success
448 dari 594 sekitar 75%. Dengan considered sink 287 unique source sekitar 58 dan sensitive sink 4215. Dari hasil diatas terlihat vurnebility yang code dari hasil review software RIPS sangat tinggi terlihat total dari vurnebility yaitu 488. Dengan penyelesaian sebagai berikut : SQL Injection bernilai 90 berarti kelemahan dalam sistem ini sebanyak 90 point dalam hal pengamanan database. Jadi sistem yang telah dibuat mempunyai vurnebility 90.
Gambar 3.4 SQL Injection
Cross-Site scripting pada sistem ini adalah 392. Sistem ini mempunyai vurnebility seperti pada hasil laporan sistem ini memiliki bannyak sekali sensistif sink. Vurnebility yang juga bisa di trigger yaitu file dekan.php, fakultas.php, ilkom.php, prodi.php, view.php. untuk lebih jelasnya lihat gambar 3.5
Gambar 3.5 Hasil Cross Site Scripting Http Response Splitting merupakan sebuah testing serangan pada akarnya yang dilakukan oleh penyerang melewati data yang berbahaya ke aplikasi yang sangat rentan. Hasil dari pengujian HTTP Response Splitting bisa dilihat pada gamaba 3.6
Gambar 3.6 Hasil Http Response Splitting 3.3.2
Desain Arsitektur Software Sistem yang diimplementasikan dibuat untuk mengatur input dan output pada
Sistem Penunjang Keputusan Calon Penerima Beasiswa Dikti di FMIPA-UNPAK. Sistem penunjang keputusan ini berbasis website, dibangun dengan menggunakan bahasa pemrograman PHP dan MySql. Tujuan pembuatan sistem ini adalah sebagai alat bantu untuk memberikan beberapa alternatif terbaik calon mahasiswa penerima beasiswa Dikti kepada pengguna sistem (user) dalam mengambil keputusan 3.3.2.1 Rancangan Database Perancangan Entity Relation Diagram (ERD) sistem penunjang keputusan calon penerima beasiswa Dikti adalah sebagai berikut : 1.
Entitas Master
prodi
beasiswa
kuota
mahasiswa
Gambar 3.7 Entitas Master 2. Entitas disertai Atribut
id_prodi *
prodi
nama_prodi
Gambar 3.8 Entitas Prodi
history
id_beasiswa *
beasiswa
jenis_beasiswa
Gambar 3.9 Entitas Beasiswa
id_prodi id_kuota
ppa bbm kuota tahun jumlah
Gambar 3.10 Entitas Kuota
total
nama
ktm
npm* id_prodi **
sl id_beasiswa **
mahasiswa
skb
tanggal
kk
ipk
skm penghasilan
tanggungan
semester
Gambar 3.11 Entitas Mahasiswa
id_prodi id_history
id_beasiswa jml_diterima history jml_diterima
total_pemohon
jml_tidakDiterima
Gambar 3.12 Entitas History
3. Kardinalitas Relasi antar Entitas history
1
memiliki
1
prodi
1
memiliki
M
mahsiswa
M
memiliki
1
beasiswa
1
memiliki
M kuota
Gambar 3.13 Kardinalitas Relasi antar Entitas 3.3.3
Panetration Testing Panetration Testing adalah istilah untuk menguji kehandalan sistem yang
berbasis teknologi informasi. Diharapkan dengan penetration testing didapatkan informasi kelemahan (vulner) dari setiap komponen sistem. Komponen sistem bisa berupa perangkat jaringan, router, server, aplikasi, dan konten lainnya. Panetrasi yang dilakukan pada sistem ini menggunakan OWASP ZAP. Seperti pada gambar di
Gambar 3.14 Panetration Testing
Penetration yang telah dilakukan oleh tools OWAS ZAP menghasilkan beberapa perhatian seperti sebagai berikut : 1. Application Error Disclousure 2. Directory Browsing 3. Cookie Set Without HttpOnly flag 4. Cookie set without secure flag 5. Incomplete or no chache-control and pragma Httpheader 6. Password autocomplete in browser 7. Private IP Disclousure
8. Secure page includes mix content 9. X content Type Optiont header missing 10. X Frame Option header not set 3.3.3.1 Application Error Disclosure Application Error disclousure yang terdapat dalam sistem penunjang keputusan tersebut seperti pada gambar 3.15
Gambar 3.15 Application Error Disclousure Application Error Disclousoure URL : http://localhost/beasiswa/css/ RISK : Medium
Reliability Parameter Attack Evidence CWE id Wasc id
: Warning : N/A : Parrent Directory : Parent Directory : 200 : 13
Description : This page contains an error/warning message that may disclose sensitive information like the location of the file that produced the unhandled exception. This information can be used to launch further attacks against the web application.The alert could be a false positive if the error message is found inside a documentation page. Solution : Review the source code of this page 3.3.3.2 Directory Browsing Direktori browsing yang dilakukan dalam penetration testing seperti pada gambar 3.16
Gambar 3.16 Directory Browsing Directory Browsing URL : http://localhost/beasiswa/css/ RISK : Medium Reliability : Warning
Parameter Attack Evidence CWE id Wasc id
: N/A : Parrent Directory : : 548 : 48
Description : It is possible to view the directory listing. Directory listing may reveal hidden scripts, include files , backup source files etc which be accessed to read sensitive information. Solution : Disable directory browsing. If this is required, make sure the listed files does not induce risks. Refference : For IIS, turn off directory browsing. For Apache, use the 'Options -Indexes' directive to disable indexes in directory or via .htaccess: . http://httpd.apache.org/docs/mod/core.html#options . http://alamo.satlug.org/pipermail/satlug/2002-February/000053.html . or create a default index.html for each directory. 3.3.3.3 Cookie Set Without HttpOnly flag Direktori browsing yang dilakukan dalam penetration testing seperti pada gambar 3.17
Gambar 3.17 Cookie Set Without HttpOnly flag
Cookie Set Without HttpOnly flag URL RISK Reliability Parameter Attack Evidence CWE id Wasc id
: http://localhost/beasiswa/css/ : Low : Warning : PHPSESSID : : :0 : 13
Description : A cookie has been set without the HttpOnly flag, which means that the cookie can be accessed by JavaScript. If a malicious script can be run on this page then the cookie will be accessible and can be transmitted to another site. If this is a session cookie then session hijacking may be possible. Solution : Ensure that the HttpOnly flag is set for all cookies. Refference : www.owasp.org/index.php/HttpOnly 3.3.3.4 Cookie Set Without Secure Flag Direktori browsing yang dilakukan dalam penetration testing seperti pada gambar 3.18
Gambar 3.18 Cookie Set Without Secure Flag
Cookie Set Without HttpOnly flag URL RISK Reliability Parameter Attack Evidence CWE id Wasc id
: http://localhost/beasiswa/css/ : Low : Warning : Session Id : : :0 : 13
Description : A cookie has been set without the secure flag, which means that the cookie can be accessed via unencrypted connections. Solution : Whenever a cookie contains sensitive information or is a session token, then it should always be passed using an encrypted tunnel. Ensure that the secure flag is set for cookies containing such sensitive information. Refference : http://www.owasp.org/index.php/Testing_for_cookies_attributes_(OWASPSM-002) 3.3.3.5 Incomplete or no chace-control and Pragma Httpheader Incomplete or no chache-control and pragma Httpheader yang dilakukan dalam penetration testing seperti pada gambar 3.20
Gambar 3.20 Incomplete or no chace-control and Pragma Httpheader
Incomplete or no chace-control and Pragma Httpheader URL RISK Reliability Parameter Attack Evidence CWE id Wasc id
: http://localhost/beasiswa/css/ : Low : Warning : Privvate : : :0 :0
Description : The cache-control and pragma HTTPHeader have not been set properly allowing the browser and proxies to cache content. Solution : Whenever possible ensure the cache-control HTTPHeader is set with nocache, no-store, must-revalidate, private, and the pragma HTTPHeader is set with no-cache.. Refference : https://www.owasp.org/index.php/Session_Management_Cheat_Sheet#Web_ Content_Caching 3.3.3.6 Password autocomplete in browser Password autocomplete in browser yang dilakukan dalam penetration testing seperti pada gambar 3.21.
Gambar 3.21 Password autocomplete in browser
Incomplete or no chace-control and Pragma Httpheader URL RISK Reliability Parameter Attack Evidence CWE id Wasc id
: http://localhost/beasiswa/css/ : Low : Warning : Input : : : 525 :0
Description : AUTOCOMPLETE attribute is not disabled in HTML FORM/INPUT element containing password type input. Passwords may be stored in browsers and retrieved. Solution : Turn off AUTOCOMPLETE attribute in form or individual input elements containing password by using AUTOCOMPLETE='OFF' Refference : http://msdn.microsoft.com/library/default.asp?url=/workshop/author/forms/aut ocomplete_ovr.asp 3.3.3.7 Private Ip Disclousure Private IP Disclousure in browser yang dilakukan dalam penetration testing seperti pada gambar 3.22.
Gambar 3.22 Private Ip Disclousure
Incomplete or no chace-control and Pragma Httpheader URL RISK Reliability Parameter Attack Evidence CWE id Wasc id
: http://localhost/beasiswa/css/ : Low : Warning : : 10.0.0.0 : 10.0.0.0 : 200 : 13
Description : A private IP such as 10.x.x.x, 172.x.x.x, 192.168.x.x has been found in the HTTP response body. This information might be helpful for further attacks targeting internal systems. Other Info : 10.0.0.0 192.168.0.0 172.16.0.0 Solution : Remove the private IP address from the HTTP response body. For comments, use JSP/ASP comment instead of HTML/JavaScript comment which can be seen by client browsers. 3.3.3.8 Secure Page Includes Mix Content Private IP Disclousure in browser yang dilakukan dalam penetration testing seperti pada gambar 3.23. Secure Page Includes Mix Content URL : http://localhost/beasiswa/css/ RISK : Low Reliability : Warning Parameter : Attack : 10.0.0.0 Evidence : 10.0.0.0 CWE id : 200 Wasc id : 13 Description : The page includes mixed content, ie content accessed via http instead of https.
Other Info : tag=img src=http://www.macromedia.com/images/shared/download_buttons/get_flash _player.gif Solution : A page that is available over TLS must be comprised completely of content which is transmitted over TLS. The page must not contain any content that is transmitted over unencrypted HTTP. This includes content from unrelated third party sites. Reference : https://www.owasp.org/index.php/Transport_Layer_Protection_Cheat_Sheet
Gambar 3.23 Secure Page Includes Mix Content 3.3.3.9 X content Type Optiont header missing X content Type Optiont header missing yang dilakukan dalam penetration testing seperti pada gambar 3.24.
Gambar 3.24 X content Type Optiont header missing X content Type Optiont header missing URL : http://localhost/beasiswa RISK : Low Reliability : Warning Parameter : Attack : Evidence : CWE id : Wasc id : Description : The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing. Solution : Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages. If possible, ensure that the end user uses a standardscompliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.
3.3.3.10 X Frame Option header not set X Frame Option header not set yang dilakukan dalam penetration testing seperti pada gambar 3.25.
Gambar 3.25 X Frame Option header not set X content Type Optiont header missing URL : http://localhost/beasiswa RISK : Informational Reliability : Warning Parameter : Attack : Evidence : CWE id :0 Wasc id :0 Description : X-Frame-Options header is not included in the HTTP response to protect against 'ClickJacking' attacks Solution : Most modern Web browsers support the X-Frame-Options HTTP header. Ensure it's set on all web pages returned by your site (if you expect the page to be framed only by pages on your server (e.g. it's part of a FRAMESET) then you'll want to use SAMEORIGIN, otherwise if you never expect the page to be framed, you should use DENY. ALLOW-FROM allows specific websites to frame the web page in supported web browsers). Reference : http://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frameoptions.aspx?Redirected=true
BAB IV KESIMPULAN
Dari hasil pengujian Sistem Pendukung Keputusan Untuk Menentukan Calon Penerima Beasiswa Direktorat Pendidikan Tinggi (Dikti) Menggunakan Touchpoint Software Security menghasilkan banyak sekali vurnebility ( Kelemahan ) dalam sistem tersebut mulai dari kelemahan dari source code dengan dibuktikan oleh jumlah cross site scripting 392, desain database yang menggunakan SQL memiliki kelemahan dengan jumlah SQL Injection 30 dan HTTP response splitting 6 dengan jumlah code vurnebility code review 488. Selain itu, kelemahan juga didapatkan dari hasil pengujian penetration testing dengan tool penetration OWASZAP mengahsilkan 10 vurnebility yang dapat dilakukakna sebuah attacking. Dengan demikian sistem penunjang keputusan penerima beasiswa pendidikan tinggi yang telah dibuat masih sangat rentan untuk dipergunakan dalam koneksi jaringan yang luas.