Apakah Same-Origin Policy Pada Web Browser Sudah Cukup Untuk Melindungi Pengguna Pada Saat Mengakses Suatu Website?

  1. Same-Origin Policy

    Menurut situs w3.org, Same-Origin Policy yakni, “An origin is defined by the scheme, host, and port of a URL. Generally speaking, documents retrieved from distinct origins are isolated from each other.” Dan menurut situs infosecinstitute.com. Same-Origin Policy yakni, “The same origin policy is an important concept in the web application information security domain. In this policy, a web browser allows scripts contained in a first web page ‘A’ to access data/resources in a second web page ‘B’, however, only if both web pages have the same origin.”

    Perlu di ingat, Same-Origin Policy ini sama sekali tidak ada hubungannya loh dengan teori evolusi Charles Darwin. Itu On the Origin of Species #eh. Penting gak sih Same-Origin Policy? Ngaruh gitu buat hidup gw? masalah buat u? #duh. Jadi Same-Origin Policy ini ternyata penting loh mas bro, untuk keamanan pada aplikasi website. Lalu, apa yang terjadi ketika Same-Origin Policy dapat di bypass?

    Kita akan berasumsi, “A” akan mengakses salah satu situs social media. Anggap saja namanya “1” Pada saat yang sama “A” membuka tab baru di web browser yang sama ketika “A” mengakses website “1” untuk mengakses salah satu situs berita, anggap saja bernama “2”. Pada saat “A” mengakses situs “2” tersebut, ternyata situs “2” itu cukup berbahaya karena Same-Origin Policy pada website “2” dapat di bypass. Menyebabkan sebut saja “B”, yang menyebabkan situs “2” dapat di bypass. Dapat mengakses social media “A” di situs “1”. Karena “A” mengakses situs “2” yang Same-Origin Policy pada website “2” dapat di bypass oleh si “B”.
    Sebelum membahas mengenai Same-Origin Policy, alangkah baiknya kita mengetahui apa itu DOM.

  2. Document Object Model

    DOM menurut situs w3.org. “The Document Object Model is a platform- and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents. The document can be further processed and the results of that processing can be incorporated back into the presented page. This is an overview of DOM-related materials here at W3C and around the web.

  3. Lalu kenapa harus ada DOM?

    Masih menurut situs yang sama, “Dynamic HTML” is a term used by some vendors to describe the combination of HTML, style sheets and scripts that allows documents to be animated. The W3C has received several submissions from members companies on the way in which the object model of HTML documents should be exposed to scripts. These submissions do not propose any new HTML tags or style sheet technology. The W3C DOM Activity is working hard to make sure interoperable and scripting-language neutral solutions are agreed upon. ”
    Sebelum adanya standar DOM dari W3C, masing-masing web browser memiliki DOM sendiri. Akibatnya, bila suatu website ingin ditampilkan secara cross-browser compatible, ia harus dirancang untuk setiap web browser yang akan didukung. Jadi standard DOM bertujuan mempermudah pengembangan aplikasi web.

  4. Hubungan DOM dengan Same-Origin Policy?

    Menurut situs infosecinstitute.com, “When we talk about how JavaScript can access DOM policies, we consider the 3 portions of the URL, which are HOST NAME + SCHEME + PORT. If more than one application has the same hostname, scheme and port and is trying to access the DOM data, access will be granted. However, Internet Explorer only validates hostname + scheme before accessing the same. Internet Explorer does not care about PORT. This is traditional scenario which works well when accessing the same with one origin. In many cases, multiple hosts could be possible within the same root domain which accesses the source page’s DOM.”

  5. Celah keamanan XSS pada aplikasi website

    Menurut situs owasp.org. XSS yakni, “Cross-Site Scripting (XSS) attacks are a type of injection, in which malicious scripts are injected into otherwise benign and trusted web sites. XSS attacks occur when an attacker uses a web application to send malicious code, generally in the form of a browser side script, to a different end user. Flaws that allow these attacks to succeed are quite widespread and occur anywhere a web application uses input from a user within the output it generates without validating or encoding it.”

  6. Tipe Celah keamanan XSS pada aplikasi website

    Menurut situs owasp.org, XSS dapat diklasifikasikan menjadi tiga jenis yaitu Persistent, Reflective, dan DOM. Sekitar pertengahan tahun 2012 suatu komunitas riset mulai menggunakan dua istilah baru untuk jenis XSS, Server XSS dan Client XSS. Untuk Server XSS, celah keamanan ini berjalan pada server seperti Persistent dan Reflective. Lalu untuk Client XSS ini berjalan di sisi client, yakni DOM.

  7. Rekomendasi mitigasi celah keamanan Client dan Server XSS

    Server XSS, menurut situs owasp.org. “The details on how to implement Context-sensitive server side output encoding are presented in the OWASP XSS (Cross Site Scripting) Prevention Cheat Sheet in great detail. ”

    Client XSS, masih menurut situs yang sama. “OWASP’s guidance on how do this properly is presented in the DOM based XSS Prevention Cheat Sheet.”

  8. Amankan Web Browser Anda!

    Lalu, bagaimana pengguna bisa meminimalisir akan adanya bahaya yang timbul. Ketika pengguna mengakses suatu website yang memiliki celah keamanan XSS? Untuk hal ini pembaca dapat mengakses situs us-cert.gov, mengenai artikel “Securing Your Web Browser”.

  9. Kesimpulan

    Pada awalnya, Web Browser menerapkan Same-Origin Policy agar memastikan pengguna, memang mengakses suatu website yang terdapat adanya suatu Javascript di website yang sama bukan di website yang berbeda atau website yang tidak pengguna akses saat itu juga. Namun, dengan adanya celah keamanan di aplikasi website, yang website tersebut pengguna mengaksesnya, seperti celah keamanan XSS Client, yaitu DOM-Based. Menyebabkan pengguna dapat mengakses Javascript di bukan website yang pengguna akses. Hal ini menimbulkan beberapa kemungkinan kerugian yang akan diterima oleh pengguna seperti pencurian cookie, phising dsbnya. Karena celah keamanan DOM-Based ini berada pada sisi Client.
    Akhir kata, artikel ini diharapkan memberikan wawasan untuk pembaca terkait adanya celah keamanan pada suatu aplikasi website agar pengguna lebih berhati-hati untuk mengakses suatu situs yang berbahaya dan memberikan wawasan bagi developer untuk membuat aplikasi website yang diharapkan bisa mengurangi tindakan yang merugikan karena adanya suatu celah keamanan aplikasi website

Iklan

Tinggalkan Balasan

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s