tugas+security

31
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

Transcript of tugas+security

Page 1: 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

Page 2: tugas+security

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

Page 3: tugas+security

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.

Page 4: tugas+security

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,

Page 5: tugas+security

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,

Page 6: tugas+security

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.

Page 7: tugas+security

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

Page 8: tugas+security

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.

Page 9: tugas+security

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

Page 10: tugas+security

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.

Page 11: tugas+security

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.

Page 12: tugas+security

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

Page 13: tugas+security

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

Page 14: tugas+security

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

Page 15: tugas+security

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

Page 16: tugas+security

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

Page 17: tugas+security

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

Page 18: tugas+security

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

Page 19: tugas+security

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

Page 20: tugas+security

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

Page 21: tugas+security

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

Page 22: tugas+security

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

Page 23: tugas+security

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

Page 24: tugas+security

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

Page 25: tugas+security

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

Page 26: tugas+security

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.

Page 27: tugas+security

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.

Page 28: tugas+security

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.

Page 29: tugas+security

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

Page 30: tugas+security

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.

Page 31: tugas+security