Selasa, 05 Oktober 2021

Session Hijacking: Apa Itu? Bagaimana Cara Mencegahnya?

 


Dilansir dari Kompas.com youtuber sekaligus travel blogger Rijal Fahmi Mohamadi atau yang lebih dikenal dengan Fahmi Catperku mengatakan modus penipuan yang hampir ia alami ini bermula dari sebuah tawaran kerjasama yang diterima melalui email. Si pengirim memintanya untuk mereview sebuah aplikasi tertentu dengan cara ia harus mendownload aplikasi tersebut terlebih dahulu.

Terkait apa yang dialami Fahmi, Ahli IT yang juga dosen Ilmu Komputer Universitas Sebelas Maret (UNS) Surakarta Rosihan Ari Yuana menilai secara umum, bisa saja akun yang terhubung dengan internet dibajak oleh seseorang.

“Ada beberapa cara membajak akun, tapi biasanya menggunakan session hijacking,” ungkapnya saat dihubungi Kompas.com Senin (15/6/2020). Rosihan menjelaskan, session hijacking sendiri menyebabkan orang lain dapat mencuri cookie yang tersimpan di perangkat komputer. Sebagaimana diketahui, setiap seseorang login di aplikasi website, maka saat itu data login akan tersimpan di cookie komputer. “Para pembajak itu memanfaatkan data cookie akun-akun kita untuk dicuri, sehingga mereka bisa login dengan cookie tersebut,” terangnya. Hal semacam ini menurutnya bukan hanya bisa terjadi pada kasus pencurian akun Youtube, namun dapat juga terjadi pada akun-akun yang lain seperti akun media sosial Facebook, Instagram dan sebagainya.

Demikianlah ringkasan dari berita tentang session hijacking, untuk selengkapnya mengenai penjelasan lebih lanjut mengenai session hijacking akan dibahas dibawah ini.

Apa itu session hijacking?

Mula-mula kita perlu mengerti dulu apa itu Session. Aplikasi menggunakan session untuk menyimpan berbagai parameter yang relevan terhadap user. Session akan terus ada pada server selama user masih aktif / terkoneksi dan session akan otomatis dihapus jika user melakukan logout atau telah melampaui batas waktu koneksi yang telah diatur. Karena sifatnya ini, session dapat dimanfaatkan oleh seorang hacker untuk melakukan session hijacking. Sekarang kita berlanjut ke apa itu cookies dan session hijacking.

Cookies

Sebelum kita beralih ke apa itu session hijacking, kita perlu mengerti dulu apa itu “Cookie”. Cookies merupakan file data yang ditulis ke dalam hard disk komputer user / klien yang biasanya dilakukan oleh web server guna kepentingan mengidentifikasikan user pada situs tersebut sehingga sewaktu user kembali mengunjugi situs tersebut, situs itu dapat segera mengenalinya. Jadi dapat dikatakan bahwa cookies merupakan semacam ID card user saat koneksi pada situs-situs aktif melalui internet. Saat user mengunjungi situs yang ada cookiesnya, server akan mencari informasi yang dibuat sebelumnya dan browser kemudian membaca informasi di cookies dan menampilkannya. Cara penggunaan cookies yang tidak baik juga dapat mengakibatkan terjadinya SQL injection yang tidak perlu. Hal ini biasanya terjadi jika user menggunakan cookies untuk mengakses web page tertentu, dimana cookies tersebut dikirim sebagai parameter pada URL tanpa melalui proses enksipsi terlebih dahulu.

 

Session Hijacking

Session hijacking merupakan aksi pengambilan kendali session milik user lain setelah sebelumnya “pembajak” berhasil memperoleh autentifikasi ID session yang biasanya tersimpan dalam cookies. Session hijacking menggunakan metode captured, brute forced atau reverse engineer guna memperoleh ID session, yang untuk selanjutnya pembajak memegang kendali atas session yang dimiliki oleh user tersebut selama session berlangsung.

Mengapa serangan itu bisa terjadi?

Apabila korban mendownload aplikasi yang dikirim oleh pelaku, maka besar kemungkinan pelaku dapat melacak cookie dalam komputer korban. Mengapa? karena aplikasi yang dikirim pelaku adalah sebuah dalih untuk memasuki komputer korban. Setelah cookie berhasil didapatkan, pelaku dapat mengetahui data-data login yang tersimpan dalam browser korban. Kemudian, pelaku bisa mencuri akun Youtube korban dengan cara mengganti email dan password akun tersebut.

Bagaimana cara mengatasi / bertahan terhadap serangan ?

Untuk mengatasi serangan tersebut, sebenarnya banyak cara diantaranya menghapus cookie dalam browser dan tidak terkecoh dengan email-email sembarangan yang berasal dari orang yang tidak jelas. Menghapus cookie dapat menghilangkan jejak login, sehingga data-data yang diperlukan dalam login tidak dapat diambil ataupun diketahui penyerang. Namun pengguna harus menginput data-data untuk login kembali karena sudah tidak ada didalam browsernya, dikarenakan cookie nya telah dihapus.

Selasa, 17 September 2019

SPECIALIZED PROCESS MODEL,AGILE&SCRUM METHOD

Specialized Process Model

  • Component Based Development; mengedepankan konsep reusability (dalam bentuk komponen).
  • Formal Method; menggunakan model matematis untuk menghilangkan ambiguitas dan inkonsistensi.
  • Aspect Oriented Development; mengedepankan separation of concern untuk fungsi yang tersebar.

Agile Method
Agile methods merupakan salah satu dari beberapa metode yang digunakan dalam pengembangan software. Agile method adalah jenis pegembangan sistem jangka pendek yang memerlukan adaptasi cepat dan pengembang terhadap perubahan dalam bentuk apapun.
Dalam Agile Software Development interaksi dan personel lebih penting dari pada proses dan alat, software yang berfungsi lebih penting daripada dokumentasi yang lengkap, kolaborasi dengan klien lebih penting dari pada negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih penting daripada mengikuti rencana.
Kelebihan Agile Method:
  • Meningkatkan kepuasan kepada klien
  • Pembangunan system dibuat lebih cepat
  • Mengurangi resiko kegagalan implementasi software dari segi non-teknis
  • Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi relative kecil.

Scrum Method
Pada dasarnya Scrum merupakan salah satu komponen dari metodologi pengembangan Agile mengenai pertemuan harian untuk membahas kemajuan.
Scrum menguraikan proses untuk mengidentifikasi dan katalogisasi pekerjaan yang perlu dilakukan, memprioritaskan yang bekerja dengan berkomunikasi dengan pelanggan atau wakil pelanggan, pelaksanaan yang bekerja  dan memiliki tujuan utama untuk mendapatkan perkiraan berapa lama waktu yang dibutuhkan.


Kelebihan Scrum Method:
  •  Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama lain.
  • Proses dapat beradaptasi terhadap perubahan teknis dan bisnis.
  • Proses dapat menghasilkan beberapa software increment.
  • Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun untuk memastikan kesalahan.
  • Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan.

KELEBIHAN DAN KEKURANGAN BERBAGAI MODEL REKAYASA

 V Model
Kelebihan:
-Penyesuaian yang cepat pada projek yang baru.
-Memudahkan dalam pembuatan dokumen.
-Biaya yang murah dalam perawatan dan modifikasi.
-Bersifat fleksibel dan mempermudah melakukan tailoring agar sesuai dengan projek tertentu.

Kekurangan:
-Prosesnya hanya sementara. Ketika projek selesai, jalannya proses model dihentikan.
-Metode yang ditawarkan terbatas, sehingga kita tidak memiliki cara pandang dari metode lain.

RAD Model
Kelebihan:
-Sangat berguna dilakukan pada saat kondisi user tidak memahami kebutuhan apa saja yang digunakan pada proses pengembangan perangkat lunak.
-Mengikuti tahapan pengembangan sistem seperti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada sehingga pengembang tidak perlu membuat dari awal lagi dan mempersingkat waktu.
Kekurangan:
-Projek yang besar menggunakan RAD membutuhkan SDM yang cukup besar untuk membuat tim yang baik.
-Tidak cocok digunakan untuk sistem perangkat lunak yang memiliki resiko yang sangat tinggi.


Spiral Model
Kelebihan:
-Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh user dapat diperjelas dan juga dapat menjadi acuan untuk user dalam mencari kekurangan kebutuhan.
-Cocok untuk pengembangan sistem dan perangkat lunak skala besar.
-Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer. 
-Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.
-Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
-Membutuhkan pertimbangan langsung terhadap resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.


Kekurangan:
-Banyak user tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol oleh kedua pihak. Model spiral mempunyai resiko yang harus dipertimbangkan ulang oleh konsumen dan developer.
-Memerlukan tenaga ahli untuk memperkirakan resiko dan harus mengandalkannya supaya sukses.
-Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
-Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko major tidak ditemukan dan diatur.
-Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.

INCREMENTAL&CONCURRENT PROCESS MODEL

INCREMENTAL MODEL




PENGERTIAN

Incremental Model menggabungkan elemen-elemen model linear sequential (penerapan secara berulang) dengan filosofi prototype interaktif. Model ini memakai urutan-urutan linier di dalam model yang membingungkan, seiring dengan laju waktu. Setiap urutan linier menghasilkan pertambahan perangkat lunak yang kemudian dapat disampaikan kepada user.

Pada model incremental ini digunakan, penambahan pertama sering merupakan produk inti (core product), yaitu sebuah model yang dipergunakan. Produk inti tersebut dipergunakan oleh user (atau mengalami pengkajian detail). Sebagai hasil dari pemakaian dan evaluasi, maka dikembangkan rencana bagi penambahan selanjutnya. Rencana tersebut menekankan modifikasi produk inti untuk secara lebih baik memenuhi kebutuhan para user dan penyampaian fitur serta fungsional tambahan. Proses ini mengikuti penyampaian setiap penambahan sampai bisa menghasilkan produk yang lengkap.

Model proses incremental ini seperti model prototype dan pendekatan-pendekatan evolusioner yang lain, bersifat interaktif. Tetapi tidak seperti model prototype, model ini berfokus pada penyampaian produk operasional dalam setiap penambahannya. Penambahan awal ada di versi stripped down dari produk akhir, tetapi memberikan kemampuan untuk melayani pemakai dan juga menyediakan platform untuk evaluasi oleh pemakai.


Beberapa Kelebihan Dari Mode Incremental diatara lain :
  • Merupakan model dengan manajemen yang sederhana.
  • User tidak perlu menunggu sampai seluruh sistem dikirim untuk mengambil keuntungan dari sistem tersebut. Increment yang pertama sudah memenuhi persyaratan mereka yang paling utama, sehingga perangkat lunak dapat segera digunakan.
  • Resiko untuk kegagalan proyek secara keseluruhan lebih rendah. Walaupun masalah masih dapat ditemukan pada beberapa increment karena layanan dengan prioritas tertinggi diserahkan pertama dan increment berikutnya diintegrasikan dengannya.
  • Nilai penggunaan dapat ditentukan pada setiap increment sehingga fungsionalitas sistem disediakan lebih awal.
  • Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem,
  • Prioritas tertinggi pada pelayanan sistem adalah yang paling diuji (core product).
Kelemahannya adalah :
  • kemungkinan tiap bagian tidak dapat diintegrasikan.
  • Dapat menjadi Build dan Fix Model, karena kemampuannya untuk selalu mendapat perubahan selama proses rekayasa berlangsung.
  • Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment.
  • Butuh waktu yang relatif lebih lama untuk menghasilkan produk yang lengkap.


CONCURRENT DEVELOPMENT MODEL



Concurrent process model atau CDM dapat digambarkan secara skematik sebagai rangkaian dari kegiatan teknis utama, tugas, dan hubungan antar bagian. Jadi, pada intinya Metode CDM ini merupakan suatu skema model yang mengimplementasikan suatu proses kerja yang dilakukan cepat namun dikerjakan secara bersama-sama dan tetap efektif dalam menyelesaikan berbagai penyelesaian masalah sesuai permintaan user.

Adapun beberapa Kelebihan dari model CDM, Yaitu  :
  • Hasil yang di dapat akan menghasilkan suatu sistem yang sangat baik karena terdapat perancangan yang terjadi secara besar dan terencana secara matang.
Kekurangan dari Model CDM : 
  • Memungkinkan terjadinya perubahan besar-besaran, maka akan membuat biaya dan waktu yang diperlukan membengkak.