Jumat, 31 Maret 2017

1.4 Security Web Science

SECURITY PADA WEB SCIENCE

WS-Security atau juga dikenal sebagai Web Service Security Core Language (WSS-Core) merupakan spesifikasi keamanan Web Service yang mendefinisikan mekanisme pengamanan pada level pesan SOAP untuk menjamin message integrity & confidentiality.
Standard WS-Security saat ini dikembangkan secara resmi oleh OASIS berdasarkan spesifikasi yang diusulkan oleh Microsoft, IBM, dan VerySign pada 11 April 2002. Selanjutnya, OASIS melalui Web Service Security Technical Committee (WSS) melanjutkan pengembangan WS-Security dengan menetapkan beberapa spesifikasi teknis terpisah, seperti Core Specification, SAML Profile, XMrL Profile, X.509 Profile, dan Karberos Profile.
Spesifikasi WSS-Core versi terbaru menyediakan 4 mekanisme untuk memproteksi pesan dari ancaman terhadap upaya gangguan keamanan pesan SOAP, yaitu:
1.      Kemampuan untuk mengirim security token sebagai bagian dari pesan SOAP,
2.      Message confidentiality,
3.      Message integrity,dan
4.   Message Availability.
  •  CONFIDENTIALITY

Confidentiality memiliki makna bahwa data-data ataupun informasi-informasi yang berada di dalam sebuah website hanya dapat di baca atau di akses oleh orang-orang yang memang memiliki kewenangan untuk mengaksesnya. Dalam era konsep Web 2.0 yang sedang berkembang beberapa tahun belakangan ini, sangat memungkinkan sebuah website untuk dapat memiliki lebih dari satu administrator. Contohnya adalah WordPress engine.
  •   INTEGRITY
Integrity memiliki pengertian data-data yang berada didalam server atau website hanya dapat diubah ataupun di delete oleh orang yang memiliki kewenangan untuk melakukan hal itu. Sebagai contoh proses transfer dari server ke client atau sebaliknya (dapat berupa upload maupun download), ternyata mengubah file yang sedang di transfer tersebut, hal ini mengindikasikan bahwa sebuah aplikasi website yang sedang digunakan tidak aman (insecure). Sama halnya jika ada serangan sebuah virus yang dapat mengubah sebuah file, entah itu mengubah nama ataupun isinya.
  •   AVAILABILITY
Jika confidentiality bermakna hanya user yang memiliki kewenangan yang dapat melihat data tertentu yang tersimpan didalam sebuah server atau website, availability memiliki makna bahwa website harus dapat diakses jika user ingin meggunakannya. Memang terkesan membingungkan dan tidak berbeda dengan prinsip pertama, namun kedua prinsip ini sangat jauh berbeda dikarenakan dilihat dari dua sudut pandang yang memang berbeda. Availability hanya menekankan kepada dapat diaksesnya sebuah website. Mengenai siapa yang dapat mengaksesnya itu telah dicover oleh prinsip confidentiality. Jika sebuah website dapat diakses tanpa adanya error, itu berarti website tersebut telah memenuhi prinsip availability ini. Hal ini memiliki makna bahwa sebuah website haruslah dapat diakses apabila memang dibutuhkan, dengan kata lain versi yang lebih mudahnya adalah, website harus available 24 jam 7 minggu (24/7).
Namun demikian, mekanisme tersebut tidak memberikan solusi keamanan yang lengkap untuk Web Service. Spesifikasi ini merupakan building block yang digunakan untuk mengakomoda- sikan berbagai variasi model keamanan dan teknologi kemanan. Dengan kata lain, WS-Security tidak menspesifikasikan suatu mekanisme keamanan baru, tetapi menyediakan fleksibilitas untuk menggunaan teknologi keamanan yang sudah ada (X.509, Karberos, XML Encryption), sehingga dapat mengakomodasi berbagai pendekatan keamanan secara umum. Hal baru yang ditambahkan oleh WS-Security adalah suatu spesifikasi untuk menerapkan mekanisme keamanan yang sudah ada (existing) tersebut kedalam pesan SOAP.
Poin-poin penting dalam keamanan web
1. Remote File Inklusi (RFI)
Remote File Inklusi (RFI) adalah jenis kerentanan paling sering ditemukan di situs Web, memungkinkan penyerang untuk menyertakan file jarak jauh yang biasanya melalui sebuah script di server web. Kerentanan terjadi karena penggunaan input yang diberikan pengguna tanpa validasi yang tepat. Hal ini dapat mengakibatkan sesuatu yang minimal keluaran isi file, tetapi tergantung pada beratnya, untuk daftar beberapa itu bisa mengarah pada:
* Kode eksekusi pada server web
* Kode eksekusi di sisi-klien seperti Javascript yang dapat menyebabkan serangan lain seperti situs cross scripting (XSS).
* Denial of Service (DoS)
* Pencurian Data / Manipulasi

Dalam PHP penyebab utama adalah karena penggunaan unvalidated variabel eksternal seperti $ _GET, $ _POST, $ _COOKIE dengan fungsi filesystem, yang paling menonjol adalah meliputi dan membutuhkan laporan. Sebagian besar kerentanan dapat dikaitkan dengan programmer pemula tidak akrab dengan semua kemampuan bahasa pemrograman PHP. Bahasa PHP memiliki direktif allow_url_fopen dan jika diaktifkan memungkinkan fungsi filesystem untuk menggunakan URL yang memungkinkan mereka untuk mengambil data dari lokasi terpencil. Seorang penyerang akan mengubah variabel yang dilewatkan ke salah satu fungsi-fungsi ini menyebabkan itu untuk memasukkan kode berbahaya dari sumber daya remote. Untuk mengatasi ini, semua input pengguna harus divalidasi sebelum digunakan.

2. Local File Inclusion (LFI)
Metode yang memanfaatkan kelemahan script PHP include(), include_once(), require(), require_once() yang variabel nya tidak dideklarasikan dengan sempurna.
Dengan LFI seorang attacker dapat menginclude kan file yang berada di dalam server yang bersangkutan.

3. SQL injection
SQL Injection adalah kode injeksi teknik yang memanfaatkan kelemahan keamanan yang terjadi pada lapisan aplikasi database. kerentanan ini hadir ketika masukan pengguna tidak benar baik disaring untuk menghindari karakter string literal tertanam dalam pernyataan SQL atau masukan pengguna tidak kuat diketik dan dengan demikian tak terduga dieksekusi. Ini adalah sebuah instance dari kelas yang lebih umum dari kerentanan yang dapat terjadi kapan pun salah satu bahasa pemrograman atau script yang tertanam di dalam yang lain. serangan injeksi SQL juga dikenal sebagai serangan penyisipan SQL.

4. Cross Site Scripting (XSS)
Cross-site scripting (XSS) adalah jenis kerentanan keamanan komputer biasanya ditemukan di aplikasi web yang memungkinkan penyerang berbahaya untuk menyuntik script sisi klien ke dalam halaman web dilihat oleh pengguna lain. Sebuah kerentanan dieksploitasi scripting lintas situs dapat digunakan oleh penyerang untuk mem-bypass akses kontrol seperti kebijakan asal-usul yang sama. Cross-site scripting dilakukan di situs Web adalah sekitar 80% dari semua kerentanan keamanan didokumentasikan oleh Symantec pada 2007.  Dampak beragam, mulai dari gangguan kecil dengan risiko keamanan yang signifikan, tergantung pada kepekaan data ditangani oleh situs rentan, dan sifat dari setiap mitigasi keamanan dilaksanakan oleh pemilik situs.

lubang Cross-site scripting adalah kelemahan aplikasi web yang memungkinkan penyerang untuk mem-bypass mekanisme klien-sisi keamanan biasanya dikenakan pada konten web oleh browser modern. Dengan mencari cara suntik script jahat ke dalam halaman web, penyerang bisa mendapatkan hak akses diangkat ke konten halaman sensitif, cookie sesi, dan berbagai informasi lainnya yang dikelola oleh browser atas nama pengguna. serangan Cross-site scripting Oleh karena itu kasus khusus injeksi kode.

Ekspresi "cross-site scripting" pada awalnya merujuk pada tindakan loading aplikasi, web diserang pihak ketiga dari sebuah situs serangan yang tidak berhubungan, dengan cara yang mengeksekusi sebuah fragmen JavaScript disusun oleh penyerang dalam konteks keamanan dari domain yang ditargetkan (a dipantulkan atau non-persistent kerentanan XSS). Definisi ini secara bertahap diperluas untuk mencakup modus lain injeksi kode, termasuk vektor persisten dan non-JavaScript (termasuk Jawa, ActiveX, VBScript, Flash, HTML atau bahkan murni), menyebabkan kebingungan untuk pendatang baru dalam bidang keamanan informasi. 

1.3 Arsitektur Web Science

 Arsitektur Website adalah suatu metode pendekatan perencanaan dan dalam merancang situs web yang melibatkan teknis, estetika, dan fungsionalitas. Misalnya dalam arsitektur, pengguna dan kebutuhannya serta persyaratan merupakan prioritas utama untuk menciptakan sebuah situs web. Web Arsitektur mempunyai criteria yang kompleks oleh karena itu memerlukan pertimbangan khusus dalam content web, koordinasi, dan rencana bisnis, web desain, kegunaan fungsionalitas, struktur informasi serta interaktivitas estetika. Selain itu, web arsitektur mempunyai potensi yag digunakan sebagai disiplin intelektual untuk mengatur konten web. Di bawah ini merupakan salah satu contoh gambar web arsitektur.
Sedangkan untuk pengembangan tahap perencanaan, manajemen, konten web, dan desain datang dalam berbagai metode desain web seperti desain tradisional, aspek konsistensi, keteguhan dan kesenangan. Oleh karena itu, dalam setiap konten yang akan dipublikasikan tersebut dapat memandu arsitektur situs web, seperti yang diterapkan secara fisik dalam web arsitektur dan prinsip – prinsip desain lainnya. Dalam menyelidiki estetika dan teori kritis serta kecenderungan ini, web arsitektur dapat mempercepat dengan cara pengenalan web semantic dan web 2.0. Kedua ide ini menekankan aspek visual dan structural dari konten dKedua ide ini menekankan aspek visual dan struktural dari konten dalam suatu situs web.
Di dalam web arsitektur terdapat istilah Strukturalisme. Strukturalisme merupakan bagian penting dalam arsitektur web yaitu pendekatan metodologis yang mempengaruhi disiplin teoritis seperti estetika, teori kritis dan postmodernisme yang mempunyai disiplin seperti yang disebutkan pada kemudi dari setiap pembuatan situs web kemudian melibatkan user generated content, dan memberikan bimbingan kepada arsitek web untuk penataan yang tepat dari setiap informasi untuk digunakan sebagai kenyamanan dan kepuasan browser ter Arsitektur Website adalah suatu metode pendekatan perencanaan dan dalam merancang situs web yang melibatkan teknis, estetika, dan fungsionalitas. Misalnya dalam arsitektur, pengguna dan kebutuhannya serta persyaratan merupakan prioritas utama untuk menciptakan sebuah situs web. Web Arsitektur mempunyai criteria yang kompleks oleh karena itu memerlukan pertimbangan khusus dalam content web, koordinasi, dan rencana bisnis, web desain, kegunaan fungsionalitas, struktur informasi serta interaktivitas estetika. Selain itu, web arsitektur mempunyai potensi yag digunakan sebagai disiplin intelektual untuk mengatur konten web. Di bawah ini merupakan salah satu contoh gambar web arsitektur.
Sedangkan untuk pengembangan tahap perencanaan, manajemen, konten web, dan desain datang dalam berbagai metode desain web seperti desain tradisional, aspek konsistensi, keteguhan dan kesenangan. Oleh karena itu, dalam setiap konten yang akan dipublikasikan tersebut dapat memandu arsitektur situs web, seperti yang diterapkan secara fisik dalam web arsitektur dan prinsip – prinsip desain lainnya. Dalam menyelidiki estetika dan teori kritis serta kecenderungan ini, web arsitektur dapat mempercepat dengan cara pengenalan web semantic dan web 2.0. Kedua ide ini menekankan aspek visual dan structural dari konten dKedua ide ini menekankan aspek visual dan struktural dari konten dalam suatu situs web.
Di dalam web arsitektur terdapat istilah Strukturalisme. Strukturalisme merupakan bagian penting dalam arsitektur web yaitu pendekatan metodologis yang mempengaruhi disiplin teoritis seperti estetika, teori kritis dan postmodernisme yang mempunyai disiplin seperti yang disebutkan pada kemudi dari setiap pembuatan situs web kemudian melibatkan user generated content, dan memberikan bimbingan kepada arsitek web untuk penataan yang tepat dari setiap informasi untuk digunakan sebagai kenyamanan dan kepuasan browser tersebut.
Bagian dari Arsitektur Website :

Hypertext Transfer Protocol (HTTP)
    HTTP adalah sebuah protokol jaringan lapisan aplikasi yang digunakan untuk sistem informasi terdistribusi, kolaboratif, dan menggunakan hipermedia. Penggunaannya banyak pada pengambilan sumber daya yang saling terhubung dengan tautan, yang disebut dengan dokumen hiperteks, yang kemudian membentuk World Wide Web pada tahun 1990 oleh fisikawan Inggris, Tim Berners-Lee. Hingga kini, ada dua versi mayor dari protokol HTTP, yakni HTTP/1.0 yang menggunakan koneksi terpisah untuk setiap dokumen, dan HTTP/1.1 yang dapat menggunakan koneksi yang sama untuk melakukan transaksi. Dengan demikian, HTTP/1.1 bisa lebih cepat karena memang tidak usah membuang waktu untuk pembuatan koneksi berulang-ulang.Pengembangan standar HTTP telah dilaksanakan oleh Konsorsium World Wide Web (World Wide Web Consortium/W3C) dan juga Internet Engineering Task Force (IETF), yang berujung pada publikasi beberapa dokumen Request for Comments (RFC), dan yang paling banyak dirujuk adalah RFC 2616 (yang dipublikasikan pada bulan Juni 1999), yang mendefinisikan HTTP/1.1.


WWW (World Wide Web)

    WWW (World Wide Web) merupakan kumpulan web server dari seluruh dunia yang berfungsi menyediakan data dan informasi untuk dapat digunakan bersama.WWW atau biasa disebut web adalah bagian yang paling menarik dari Internet. Melalui web, dapat mengakses informasi-informasi yang tidak hanya berupa teks tetapi bisa juga berupa gambar, suara, video dan animasi. Fasilitas ini tergolong masih baru dibandingkan surel (email), sebenarnya WWW merupakan kumpulan dokumen-dokumen yang sangat banyak yang berada pada komputer server (web server), di mana server-server ini tersebar di lima benua termasuk Indonesia, dan terhubung menjadi satu melalui jaringan Internet. Dokumen-dokumen informasi ini disimpan atau dibuat dengan format HTML (Hypertext Markup Language). Suatu halaman dokumen informasi dapat terdiri atas teks yang saling terkait dengan teks lainnya atau bahkan dengan dokumen lain.Keterkaitan halaman lewat teks ini disebut hypertext. Dokumen infomasi ini tidak hanya terdiri dari teks tetapi dapat juga berupa gambar, mengandung suara bahkan klip video. Kaitan antar-dokumen yang seperti itu biasa disebut hypermedia. Jadi dapat disimpulkan bahwa WWW adalah sekelompok dokumen multimedia yang saling terkoneksi menggunakan hyperteks link. Dengan mengklik hyperlink, maka bisa berpindah dari satu dokumen ke dokumen lainnya.

URL( universal resource locator) 

    URL( universal resource locator) merupakan suatu konsep penamaan lokasi standar dari suatu file,direktori,computer, dan lokasi komputernya sesuai dengan metode yang digunakan. URL tidak hanya dapat menunjuk ke suatu file tapi dapat juga menunjuk suatu query, dokumen dalam suatu database atau hasil dari perintah finger atau perintah archie . secara umum dapat digambarkan penulisan url : metode://nama_file[:nomor_port]. Jenis metode yang digunakan pada url adalah file,http,news,gopher,telnet.


XML (Extensible Markup Language) 

    XML (Extensible Markup Language) merupakan bahasa web turunan dari SGML (Standart Generalized Markup Language) yang ada sebelumnya. XML hampir sama dengan HTML, dimana keduanya sama-sama turunan dari SGML. Teknologi XML dikembangkan mulai tahun 1966 dan mendapatkan pengakuan dari Worl Wide Web Consortium (W3C) pada bulan Februari 1998. Sedangkan SGML sendiri telah dikembangkan pada awal tahun 1980-an. Pada saat HTML dikembangkan pada tahun 1990, para penggagas XML mengadopsi bagian paling penting SGML dan dengan berpedoman pada pengembangan HTML menghasilkan bahasa markup yang tidak kalah hebatnya dengan SGML.XML tidak mempunyai definisi secara tepat karena ada yang berpendapat bahwa XML bukanlah suatu bahasa pemrograman,melainkan XML merupakan sintaks yang digunakan untuk menjelaskan bahasa markup lain (Dournaee,2002), sehingga dinamakan meta-language. Meskipun demikian pendapat yang XML bukan merupakan bahasa markup, didasarkan bahwa XML merupakan bahasa markup terpisah untuk tujuan terpisah. Selain itu XML bukanlah solusi semua hal untuk tujuan semua user.

JavaScript

    JavaScript adalah bahasa pemrograman berbasis prototipe yang berjalan disisi klien. jika kita berbicara dalam konteks web, sederhananya, kita dapat memahami JavaScript sebagai bahasa pemrograman yang berjalan di browser. Javascript dipanggil untuk memberikan fungsi pada halaman web dengan meletakannya secara internal pada halaman html diantara tag atau dibuat pada file terpisah ( eksternal ) dan lalu di link menggunakan pada bagian , seperti CSS. Fungsi Javascript adalah Secara fungsional, Javascript digunakan untuk menyediakan akses script pada objek yang dibenamkan ( embedded ). Contoh sederhana dari penggunaan javascript adalah membuka halaman pop up, fungsi validasi pada form sebelum data dikirimkan ke server, merubah image kursor ketika melewati objek tertentu, dan lain lain.


AJAX

    AJAX disini adalah singkatan dari Asynchronous JavaScript and XML. Pada intinya ajax itu merupakan gabungan beberapa teknologi yang bertujuan untuk menghindari page reload. Dengan menghindari page reload, kita dapat menghindari paradigma click-and-wait serta memberikan sebuah fitur yang cukup kompleks pada website seperti validasi data secara realtime, drag n drop dan fitur-fitur lain yang belum dimiliki web biasa. Dengan AJAX, suatu aplikasi web dapat mengambil data kemudian diolah di client melalui request asynchronous HTTP yang diinisiasi oleh Javascript, sehingga dapat mengupdate bagian-bagian tertentu dari web tanpa harus memanggil keseluruhan halaman web. Request ini dapat dieksekusi dalam beberapa cara dan beberapa format transmisi data. Dikombinasikannya cara pengambilan data remote dengan interaktivitas dari Document Object Model (DOM) telah menghasilkan generasi terbaru dari aplikasi web yang mengebrak aturan-aturan tradisional tentang apa yang dapat terjadi di dalam web.

1.2 Sejarah Web Science

     Penjelajah web pertama bernama bernama WorldWideWeb  (tanpa spasi) diciptakan Tim Berners-Lee. Nama penjelajah tersebut kemudian diubah menjadi Nexus.

     Pada tahun 1993, Marc Andreessen melakukan inovasi penjelajah web dengan merilis Mosaic (kemudian Netscape), "perampan web populer pertama di dunia",yang membuat sistem Internet mudah digunakan dan lebih mudah diakses oleh orang kebanyakan. Penjelajah web Andreesen memicu ledakan popularitas di Internet pada tahun 1990-an. Andreessen, pemimpin tim Musa di NCSA, segera mendirikan perusahaan sendiri, bernama Netscape, dan merilis Mosaic-yang kemudian mempengaruhi Netscape Navigator pada tahun 1994, yang dengan cepat menjadi browser yang paling populer di dunia, menguasai 90% dari semua penggunaan penjelajah web di dunia (lihat bagian penggunaan web browser).
Microsoft menanggapinya dengan menciptakan Internet Explorer pada tahun 1995, juga sangat dipengaruhi oleh Mosaic, dan memulai perang penjelajah web pertama di industri Internet. Dibundel dengan WindowsInternet Explorer memperoleh dominasi di pasar penjelajah web. Raihan penggunaan Internet Explorer memuncak dengan jumlah lebih dari 95% pada tahun 2002.

     Opera memulai debutnya pada tahun 1996, meskipun belum pernah mencapai penggunaan secara luas, memiliki kurang dari 2% pangsa penggunaan browser pada Februari 2012 menurut Net Applications. Versi mini Opera (Opera Mini) memberikan tambahan pangsa pasar, pada bulan April 2011 sebesar 1,1% pada penggunaan penjelajah web secara keseluruhan, tetapi terfokus pada pasar ponsel yang tumbuh cepat. Opera Mini terinstal pada lebih dari 40 juta ponsel. Opera Mini ini juga tersedia di beberapa sistem benam lain, termasuk konsol video game Nintendo Wii.

     Pada tahun 1998, Netscape meluncurkan apa yang kemudian akan menjadi Mozilla Foundation dalam upaya menghasilkan browser kompetitif dengan menggunakan model perangkat lunak sumber terbuka. Penjelajah web tersebut akhirnya akan berkembang menjadi Firefox. Hingga Agustus 2011, Firefox memiliki pangsa pasar 28% penjelajah web dunia.

     Safari merilis versi beta pada Januari 2003. Hingga April 2011, Safari memiliki pangsa dominan untuk penjelajah web berbasis Apple, dan menguasai lebih dari 7% dari pasar penjelajah web dunia.


     Pendatang baru di pasar penjelajah web adalah Google Chrome. Pertama kali dirilis pada bulan September 2008, popularitas Chrome meningkat secara signifikan dari tahun ke tahun, dengan menggandakan pangsa penggunaannya dari 8% menjadi 16% pada bulan Agustus 2011. Peningkatan ini berbanding terbalik dengan popularitas Internet Explorer yang cenderung menurun dari bulan ke bulan. Pada Desember 2011, Google Chrome menyalip Internet Explorer 8 sebagai web browser yang paling banyak digunakan namun tetap lebih rendah jika dibandingkan dengan jumlah gabungan semua versi Internet Explorer yang digunakan

1.1 Definisi Web Science

WEB


Pengertian Web yaitu  kumpulan halaman yang dapat menampilkan informasi berupa gambar, animasi, tulisan, suara maupun gabungan dari keseluruhannya yang bersifat statis atau dinamis yang dapat membentuk rangkaian yang saling terkait yang dihubungkan dengan banyak link. 

Science


Penggertian dari Science adalah sebuah pengetahuan yang dapat berupa informasi lisan ataupun tulisan yang dapat digunakan untuk keperluan Penelitian ataupun Tugas individu.


Web Science


Web Science merupakan kajian sains dari Web. Ketika Web telah bergerak ke ranah ilmu, maka pertanyaan mendasar adalah bagaimana keilmuan ini melakukan metodologi. Bagaimana peneliti atau engineer melakukan pendekatan terhadap Web untuk pemahaman dan relasinya dengan domain sosial secara luas dan inovasi apa yang dapat dilakukan.

Berbagai penelitian yang berlangsung saat ini melakukan pengembangan pada metodologi pemetaan (mapping) dan graph pada struktur Web dengan sampling sebagai kunci utamanya [Leung, 2001]. Sebagai contoh laporan riset [Fetterly, 2004] menyatakan bahwa 27% dari web di Jerman (.de) melakukan perubahan setiap minggu. Model lain adalah metodologi model analisis yang mengkombinasikan data empiris yang digunakan untuk melakukan determinasi probabilitas. Metodologi pada Web Science akan dipengaruhi oleh perekayasaan yang berlatar belakang industri maupun peneliti akademisi.