2012-1-00285-if ringkasan

12
PERANCANGAN KEAMANAN HALAMAN WEB BERBASIS PLATFORM PHP TERHADAP SERANGAN SQL INJECTION Meita Setiasih Binus University, Jakarta, DKI Jakarta, Indonesia Deborah Estefanus Binus University, Jakarta, DKI Jakarta, Indonesia dan Michael Andinata Binus University, Jakarta, DKI Jakarta, Indonesia Abstrak Tujuan penelitian, ialah melindungi dan menutup celah keamanan pada sebuah web dimana celah tersebut dapat dimanfaatkan oleh penyerang, dengan membuat konfigurasi dalam melindungi sebuah web dari usaha penyerangan yang dilakukan dengan menggunakan metode SQL Injection. Metode penelitian yang digunakan dalam skripsi ini adalah metode studi pustaka, metode pengumpulan data dan metode perancangan. Metode studi pustaka dilakukan dengan mempelajari teknik hacking yang ada, menggunakan bantuan dari hacking tools yang tersedia dan mempelajari berbagai kasus hacking yang pernah terjadi. Metode perancangan pada penulisan skripsi ini terbagi dalam beberapa tahap, yaitu analisis, desain/perancangan,

Upload: angga-nopella

Post on 07-Apr-2016

7 views

Category:

Documents


5 download

DESCRIPTION

sadasdasd

TRANSCRIPT

Page 1: 2012-1-00285-IF Ringkasan

PERANCANGAN KEAMANAN HALAMAN WEB BERBASIS PLATFORM

PHP TERHADAP SERANGAN SQL INJECTION

Meita Setiasih Binus University, Jakarta, DKI Jakarta, Indonesia

Deborah Estefanus Binus University, Jakarta, DKI Jakarta, Indonesia

dan

Michael Andinata Binus University, Jakarta, DKI Jakarta, Indonesia

Abstrak

Tujuan penelitian, ialah melindungi dan menutup celah keamanan pada sebuah web dimana celah

tersebut dapat dimanfaatkan oleh penyerang, dengan membuat konfigurasi dalam melindungi

sebuah web dari usaha penyerangan yang dilakukan dengan menggunakan metode SQL Injection.

Metode penelitian yang digunakan dalam skripsi ini adalah metode studi pustaka, metode

pengumpulan data dan metode perancangan. Metode studi pustaka dilakukan dengan

mempelajari teknik hacking yang ada, menggunakan bantuan dari hacking tools yang tersedia

dan mempelajari berbagai kasus hacking yang pernah terjadi. Metode perancangan pada

penulisan skripsi ini terbagi dalam beberapa tahap, yaitu analisis, desain/perancangan,

Page 2: 2012-1-00285-IF Ringkasan

simulasi/prototyping, implementasi, dan evaluasi. Hasil yang dicapai berupa sebuah tahapan

konfigurasi dalam mencegah penyerangan terhadap sebuah web dengan menggunakan metode

SQL Injection, untuk menjaga database dari penyerang yang hendak mengambil data-data yang

dimiliki oleh web tersebut, baik itu data admin, data customer, maupun data-data penting

lainnya. Simpulan dari hasil penulisan skripsi ini adalah konfigurasi yang dibuat untuk mencegah

serangan dengan metode SQL Injection, dapat diimplementasi dengan baik dan memberikan

keamanan bagi web berbasis PHP versi 5, sehingga memperkecil kemungkinan untuk ditembus

oleh pihak luar yang tidak memiliki wewenang dalam mengambil alih hak akses web dengan

metode SQL Injection.

Kata Kunci : SQL Injection, PHP, Hacking, Web.

1. Pendahuluan

Internet saat ini telah menjadi kebutuhan yang sangat mendasar bagi masyarakat

modern untuk menunjang setiap aktifitasnya. Dengan adanya internet maka pertukaran

data dan informasi dapat dilakukan secara real time. Hal ini juga mengubah berbagai

kebiasaan yang dulunya dilakukan secara konvensional. Contohnya dalam proses

mengirim surat, dimana dulunya harus menggunakan jasa pos yang cenderung lebih

lama, namun sekarang pengiriman surat dapat dilakukan dengan email, dan waktu yang

dipakai untuk mengirim pesan hanya dalam hitungan millisecond.

Contoh lainnya adalah dalam hal finansial dan publikasi, seperti pembuatan web

yang digunakan baik untuk mempromosikan suatu produk, maupun untuk melakukan

transaksi jual beli. Dan pada umumnya, bahasa pemrograman web yang digunakan

adalah PHP yang memakai Mysql sebagai databasenya. Dengan adanya web ini, maka

dapat memudahkan konsumen dalam berbelanja, dan meningkatkan pemasukan bagi

penjual. Melihat kemudahan dan prospek yang ditawarkan melalui web untuk berjualan,

maka semakin banyak web yang bermunculan, baik untuk sekedar mempromosikan

produk, maupun untuk langsung melakukan order.

Page 3: 2012-1-00285-IF Ringkasan

Seiring dengan semakin banyaknya web tersebut, tingkat ancaman dari serangan

seperti SQL Injection semakin meningkat, karena banyaknya kemungkinan kelemahan

yang ada pada setiap web. Dengan menggunakan SQL Injection, maka penyerang dapat

memperoleh data yang tersimpan pada database, melalui data tersebut, maka informasi

produk, account user dan bahkan account administrator dapat digunakan oleh

penyerang, sehingga menimbulkan ancaman keamanan dan kerugian finansial bagi

pemilik web.

Penyerangan dengan menggunakan SQL Injection sangat mudah dilakukan,

bahkan saat ini telah banyak program – program yang dapat digunakan untuk membantu

dalam melakukan SQL Injection, sehingga konfigurasi keamanan halaman web sangat

perlu dilakukan, karena banyak web yang masih rentan terhadap serangan ini, dan dengan

kemudahan dalam melakukan SQL Injection, itu sama artinya dengan meningkatnya

jumlah penyerang yang dapat mengancam data dari web.

2. Metodologi

Ruang lingkup dari penelitian mencakup studi pustaka, pengumpulan data, dan

metode perancangan. Adapun pembahasan yang dilakukan sebagai berikut :

- Studi pustaka

- Metode Perancangan

- Evaluasi

2.1. Studi Pustaka

Studi pustaka terbagi mejnjadi tiga bagian, yaitu:

1) Hacking tools.

2) Teknik hacking.

3) Penalaran berbagai kasus.

Hacking tools yang digunakan adalah Havij yang berfungsi sebagai

penetration tool serangan SQL Injection.

Page 4: 2012-1-00285-IF Ringkasan

Teknik hacking dilakukan dengan mempelajari serangan SQL Injection.

Juga mempelajari cara untuk mengantisipasi pelacakan jejak saat melakukan

serangan terhadap web test case.

Penalaran berbagai kasus dilakukan dengan mempelajari berbagai kasus

serangan SQL Injection yang pernah terjadi. Sehingga dapat dijadikan bahan

pembelajaran agar kesalahan yang sama tidak dilakukan, namun metode

serangannya dapat dipelajari untuk meningkatkan keamanan.

2.2. Metode Perancangan

Metode perancangan yang digunakan meliputi :

1) Analisis

2) Desain/Perancangan

3) Simulasi/Prototyping

Analisis dilakukan dengan menganalisa keamanan yang ada pada web.

Desain/perancangan dilakukan dengan merancang keamanan web dari sisi

coding PHP maupun Mysql, serta merancang konfigurasi services pada web

server lokal maupun hosting. Simulasi/prototyping dilakukan dengan menguji

coba sistem konfigurasi di server testing.

2.3. Evaluasi

Evaluasi yang ada terdiri dari:

1) Evaluasi hasil serangan SQL Injection

Dari hasil evaluasi yang sudah didapatkan ada berberapa jenis celah

terhadap serangan SQL Injection yang mungkin dilakukan pada sebuah

web yang berbasis PHP.

Page 5: 2012-1-00285-IF Ringkasan

2) Evaluasi Hasil Konfigurasi Pencegahan SQL Injection pada PHP

Setelah dilakukan konfigurasi terhadap celah SQL Injection, seperti

implementasi pada code PHP(Syntax mysql_real_escape_string, return value,

validasi dengan preg_match() dan hash MD5 pada password) dan penyimpanan

file, serta implementasi konfigurasi pada server lokal (syntax magic_quotes_gpc

pada file php.ini, display_errors pada file php.ini, instalasi mod_security pada

linux) maupun pada server web hosting (magic_quotes_gpc pada file .htaccess,

display_errors pada file .htaccess).

.

3. Kesimpulan

Berdasarkan hasil analisis, perancangan, pengujian, implementasi, dan evaluasi, maka

dapat diambil beberapa kesimpulan, yaitu:

1. Terciptanya konfigurasi untuk pencegahan terhadap serangan SQL Injection pada web

berbasis PHP versi 5 dengan database menggunakan MySql.

2. Penggunaan dan konfigurasi htaccess yang tersedia dari web hosting dalam mencegah

terjadinya serangan SQL Injection.

3. Menutupi celah kelemahan PHP dalam segi coding pemrograman.

4. Penggunaan dan konfigurasi php.ini pada web server lokal.

Page 6: 2012-1-00285-IF Ringkasan

Daftar Pustaka

[1] Cisco Systems, Inc. 2002. Understanding TCP/IP. Diperoleh 11-18-2011 dari

http://www.cisco.com/univercd/cc/td/doc/product/iaabu/centri4/user/scf4ap1.htm.

[2] Gilbert, H. 1995. Introduction to TCP/IP. Diperoleh 11-18-2011 dari

http://www.yale.edu/pclt/COMM/TCPIP.HTM.

[3] Gralla, Preston. (1999). How The Internet Works. Indiana: Que Corporation.

[4] ITSecTeam Security Research. 2011. Havij v1.15 Advanced SQL Injection.

Diperoleh 01-04-2012 dari http://www.itsecteam.com/en/projects/project1.htm.

[5] Larson, E.,& Stephens B. (2000). Administrating Web Servers, Security & Maintenance.

New Jersey: Prentice Hall.

[6] Mcclure, S., Saumil S.,& Sheeraj S. (2003). Web Hacking Serangan dan Pertahanannya.

Yogyakarta: Penerbit Andi.

[7] Mclure, S., Joel S.,& George K. (2003). Hacking Exposed Network Security Secrets and

Solutions. (4th edition). Australia: McGraw Hill.

[8] OWASP. 2010. Testing for SQL Injection. Diperoleh 01-23-2012 dari

https://www.owasp.org/index.php/Testing_for_SQL_Injection_(OWASP-DV-005).

[9] The PHP Group. 2011. General Information. Diperoleh 11-18-2011 dari

http://id.php.net/manual/en/faq.general.php.

[10] The Tor Project, Inc. n.d. TOR. Diperoleh 01-18-2012 dari

https://www.torproject.org/about/overview.html.en.

Page 7: 2012-1-00285-IF Ringkasan

WEB PAGE SECURITY DESIGN BASED PHP PLATFORM FOR SQL INJECTION

ATTACK

Meita Setiasih Binus University, Jakarta, DKI Jakarta, Indonesia

Deborah Estefanus Binus University, Jakarta, DKI Jakarta, Indonesia

and

Michael Andinata Binus University, Jakarta, DKI Jakarta, Indonesia

Abstract

Research purposes, is to protect and close security holes in a web in which the gap could be

exploited by attackers, make configuration to protect a web from assault carried out by using

SQL Injection. The research method used in this thesis is literature study method, data collection

method and design method. Methods of literature study carried out by studying hacking

techniques, using hacking tools that are available and study the various cases of hacking that has

ever happened. Design method in the writing of this thesis is divided into several stages,

analysis, design, simulation/prototyping, implementation, and evaluation. The results achieved

like a configuration step for preventing attacks on the web by using SQL Injection method, to

preserve database from attackers who want to retrieve data that is owned by the web, be it admin

Page 8: 2012-1-00285-IF Ringkasan

data, customer data, as well as other important data. The conclusions from the results of this

thesis writing is a configuration designed to prevent SQL Injection attack methods can be

implemented properly and provide security for web-based PHP version 5, so it reduces the

chance to be penetrated by outsiders who do not have the authority to take over the web

permissions by SQL Injection method.

Keyword : SQL Injection, PHP, Hacking, Web.

1. Introduction

Internet today has become a fundamental requirement for modern society to

support their activity. With the Internet, the exchange of data and information can

be done in real time ways. It can also change the habits that were

once done conventionally. For example in the process of sending a letter, in which

the former have to use the postal service that tend to be long, but now can be

done by sending an email letter, and the time taken to send messages in a matter of

milliseconds.

Another example is in the financial and publication field, like the using of web

to promote a product, and to make a transaction. In general, the web programming

language is PHP, which using Mysql as its database. The web can make the consumer

easier to shopping, and increase the income of the seller. Seeing the

ease and prospects offered via the web to sell, the more the web that have sprung

up, either to simply promote a product, or to direct an order.

Page 9: 2012-1-00285-IF Ringkasan

With increasing number of web, such as the threat of SQL Injection attacks is

increasing, because the number of possible weakness in each web. By using SQL

Injection, the attacker can obtain the data that stored in the web database, through

those data, the products information, user accounts and even the administrator account

can be used by the attacker, leading to security threats and financial losses for the web

owner.

Using a SQL Injection attack is very easy to do, even when it has a lot of

programs that can be used to assist in the conduct SQL Injection, so that the security

configuration web page is very necessary, because many web is still vulnerable to this

attack, and with the ease of do SQL Injection, it is tantamount to increasing the

number of attackers that can threaten data from the web.

2. Methodology

The scope of research includes the study of literature, data collection, and design

methods. The discussion is conducted as follows:

- Study of literature

- Design Methods

- Evaluation

2.1. Study of Literature

Literature is divided into three parts :

1) Hacking tools.

2) Hacking techniques.

3) Reasoning various cases.

Page 10: 2012-1-00285-IF Ringkasan

Hacking tools are used is Havij that serves as a penetration tool for SQL Injection

attacks.

Hacking techniques is done by studying SQL Injection attacks. Also learn how to

anticipate tracking the trail during an attack on a web test case.

Reasoning of cases is done by studying various cases of SQL Injection attacks

that ever happened. So it can be used as learning materials for the same mistakes are

not made, but the method of attack can be learned to improve security.

2.2. Design Method

Design methods used include :

1) Analysis

2) Design

3) Simulation/Prototyping

The analysis is conducted by analyzing the existing security on the web.

Design is conducted by designing web security from the side coding of PHP

and Mysql, as well as designing the configuration of services at web server

local and hosting. Simulation/prototyping is conducted by testing the system

configuration at testing server.

2.3. Evaluation

The evaluation consists of:

1) Evaluation the results of the SQL Injection attack

From the evaluation result that already obtained there are some vulnerabilities of

SQL Injection attack that possible to do in the PHP web based.

Page 11: 2012-1-00285-IF Ringkasan

2) Evaluation configuration of prevention to SQL Injection in PHP

After the configuration of SQL Injection vulnerabilities, such as the

implementation of the PHP code (syntax mysql_real_escape_string, return

value, validation with preg_match() and MD5 hash on password) and file

storage, as the implementation of the configuration on the local server

(syntax magic_quotes_gpc in the php.ini file, display_errors in the php.ini

file, mod_ security install on linux) and on the web server hosting (magic-

quotes_gpc on htaccess file, display_errors on htaccess file).

.

3. Conclusion

Based on the analysis, design, testing, implementation, and evaluation,

it may take a few conclusions :

1) The creation of a configuration for the prevention of SQL Injection attacks on

web-based PHP version 5 with database using MySql.

2) Htaccess usage and configuration are available from web hosting to prevent

SQL Injection attacks.

3) Cover the gap in terms of coding flaws PHP programming.

4) Use and configuration of php.ini on a local web server.

Page 12: 2012-1-00285-IF Ringkasan

References

[1] Cisco Systems, Inc. 2002. Understanding TCP/IP. Diperoleh 11-18-2011 dari

http://www.cisco.com/univercd/cc/td/doc/product/iaabu/centri4/user/scf4ap1.htm.

[2] Gilbert, H. 1995. Introduction to TCP/IP. Diperoleh 11-18-2011 dari

http://www.yale.edu/pclt/COMM/TCPIP.HTM.

[3] Gralla, Preston. (1999). How The Internet Works. Indiana: Que Corporation.

[4] ITSecTeam Security Research. 2011. Havij v1.15 Advanced SQL Injection.

Diperoleh 01-04-2012 dari http://www.itsecteam.com/en/projects/project1.htm.

[5] Larson, E.,& Stephens B. (2000). Administrating Web Servers, Security & Maintenance.

New Jersey: Prentice Hall.

[6] Mcclure, S., Saumil S.,& Sheeraj S. (2003). Web Hacking Serangan dan Pertahanannya.

Yogyakarta: Penerbit Andi.

[7] Mclure, S., Joel S.,& George K. (2003). Hacking Exposed Network Security Secrets and

Solutions. (4th edition). Australia: McGraw Hill.

[8] OWASP. 2010. Testing for SQL Injection. Diperoleh 01-23-2012 dari

https://www.owasp.org/index.php/Testing_for_SQL_Injection_(OWASP-DV-005).

[9] The PHP Group. 2011. General Information. Diperoleh 11-18-2011 dari

http://id.php.net/manual/en/faq.general.php.

[10] The Tor Project, Inc. n.d. TOR. Diperoleh 01-18-2012 dari

https://www.torproject.org/about/overview.html.en.