ABSTRAKSI: DB XML adalah suatu sistem penyimpanan database yang memanfaatkan teknologi XML. DB XML ini dianggap sebagai solusi lain untuk mengganti database relasional. Kelebihannya dibanding database relasional adalah mengurangi ukuran dan kompleksitas aplikasi, meningkatkan efisiensi dan fleksibilitas penyimpanan, performansi aplikasi yang dihasilkan lebih baik, serta fleksibel, karena platform independent dan language independent. Namun kekurangan dari DB XML adalah tidak adanya pendefinisian hak akses user. Dengan kata lain, siapapun dapat mengakses DB XML tersebut tanpa ada perbedaan privilege. Di sinilah terjadi celah keamanan terhadap penggunaan DB XML. Malicious user dari suatu web service yang berbasis SOAP (Simple Object Access Protocol) dapat memanfaatkan celah keamanan ini untuk melakukan teknik-teknik serangan tertentu, salah satunya adalah XPath Injection. XPath Injection memungkinkan seorang penyerang dapat berkomunikasi secara langsung kepada database XML lewat user input yang disediakan oleh aplikasi sehingga attacker dapat mengakases informasi-informasi sensitif dari DB XML.
Pada tugas akhir ini dibangun suatu service tambahan yang berfungsi sebagai modul untuk meminimalisir terjadinya serangan XPath Injection, dengan menggunakan empat buah metode yang berbeda, yaitu data type validation, input validation, integrity check, dan parameterized query. Pengujian akan dilakukan dengan menganalisis jumlah vektor query injeksi yang berhasil ditangani, vektor query injeksi yang berhasil lolos (tidak tertangani), dan pengaruh average execution time dari masing-masing modul terhadap sistem.
Berdasarkan hasil penelitian, didapat bahwa metode input validation, integrity check, dan parameterized query adalah metode yang cukup baik dalam meminimalkan terjadinya serangan XPath Injection dilihat dari segi jumlah vektor query yang berhasil ditangani.
Kata Kunci : DB XML, XPath Injection, Web Service, SOAPABSTRACT: XML DB is a database storage system that uses XML technology. XML DB is considered as another solution to replace the relational database. XML DB can reduce the size and complexity of applications, improving efficiency and storage flexibility, and increase the performance eficiency because it is platform independent and language independent. But the lack of XML DB is the absence of defining user access rights. In other words, anyone can access the XML DB with no difference in privileges. This is where the vulnerability occurs against the use of XML DB. Malicious users from a SOAP (Simple Object Access Protocol) based web service can exploit this vulnerability to perform a specific attack techniques, i.e. XPath Injection. XPath Injection allows an attacker to talk directly to an XML DB through a user input provided by the application, so that some sensitive informations can be accessed by the attacker.
In this paper will be built an additional service that serves as a module to minimize the occurrence of XPath Injection attacks. There are four methods used, the data type validation, input validation, integrity check, and parameterized query. Testing will be done by analyzing the number of vector injections that successfully handled, the number of vector injections that can pass the system, and average execution time.
Based on the research, the input validation method, integrity check method, and parameterized query method is the best methods to minimize the occurrence of XPath Injection attack terms of the number of vector injections that successfully handled.Keyword: XML DB, XPath Injection, Web Service, SOAP