tugas+security
-
Upload
prabu-siliwangi -
Category
Documents
-
view
44 -
download
6
Transcript of tugas+security
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
Navigasi
Level
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 mahasiswakuota history
Gambar 3.7 Entitas Master
2. Entitas disertai Atribut
prodiid_prodi * nama_prodi
Gambar 3.8 Entitas Prodi
beasiswaid_beasiswa * jenis_beasiswa
Gambar 3.9 Entitas Beasiswa
kuotaid_kuota
bbm
ppaid_prodi
jumlah
tahun
Gambar 3.10 Entitas Kuota
mahasiswa
tanggungan
npm*
id_prodi **
semester
nama
ipk
id_beasiswa **
penghasilan
tanggal
sl
skb
kk
skm
ktm
total
Gambar 3.11 Entitas Mahasiswa
historyid_history
jml_diterima
id_beasiswaid_prodi
jml_tidakDiterima
jml_diterima
total_pemohon
Gambar 3.12 Entitas History
3. Kardinalitas Relasi antar Entitas
prodi beasiswamahsiswamemiliki memiliki1 M 1M
kuota
memiliki
1
M
history memiliki 11
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 : Warning
Parameter : N/A
Attack : Parrent Directory
Evidence : Parent Directory
CWE id : 200
Wasc id : 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 : N/A
Attack : Parrent Directory
Evidence :
CWE id : 548
Wasc id : 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 : http://localhost/beasiswa/css/
RISK : Low
Reliability : Warning
Parameter : PHPSESSID
Attack :
Evidence :
CWE id : 0
Wasc id : 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 : http://localhost/beasiswa/css/
RISK : Low
Reliability : Warning
Parameter : Session Id
Attack :
Evidence :
CWE id : 0
Wasc id : 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_(OWASP-
SM-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 : http://localhost/beasiswa/css/
RISK : Low
Reliability : Warning
Parameter : Privvate
Attack :
Evidence :
CWE id : 0
Wasc id : 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 no-
cache, 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 : http://localhost/beasiswa/css/
RISK : Low
Reliability : Warning
Parameter : Input
Attack :
Evidence :
CWE id : 525
Wasc id : 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 : 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 :
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 standards-
compliant 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-frame-
options.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.