Sabtu, 08 April 2017

UML (Unified Modeling Language)

UML

Pengertian

Apa itu UML? Yang dimaksud dengan UML adalah UML merupakan singkatan dari “Unified Modelling Language” yaitu suatu metode permodelan secara visual untuk sarana perancangan sistem berorientasi objek, atau definisi UML yaitu sebagai suatu bahasa yang sudah menjadi standar pada visualisasi, perancangan dan juga pendokumentasian sistem software. Saat ini UML sudah menjadi bahasa standar dalam penulisan blue print software.


Adapun fungsi dari UML yaitu  :

  • function umlUntuk menggambarkan batasan sistem dan fungsi-fungsi sistem secara umum, dibuat dengan use case dan actor
  • Untuk menggambarkan  kegiatan atau proses bisnis yang dilaksanakan secara umum, dibuat  dengan interaction diagrams
  • Untuk menggambarkan representasi struktur statik sebuah sistem dalam bentuk class diagrams
  • Untuk membuat model behavior ”yang menggambarkan kebiasaan atau sifat sebuah sistem” dengan state transition diagrams
  • Untuk menyatakan arsitektur implementasi fisik menggunakan component and development diagram, untuk menyampaikan atau memperluas fungsionality dengan stereotypes.

Jenis-jenis Diagram UML, yaitu :

1. Use Case Diagram

Use case adalah abstraksi dari interaksi antara system dan actor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah system dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah system dipakai.
use case diagram



Diagram Use Case berguna dalam tiga hal :

Menjelaskan fasilitas yang ada (requirement)
Komunikasi dengan klien
Membuat test dari kasus-kasus secara umum\

Kelebihan:

Interaksi antara pengguna dan system lain dengan system yang akan di buat cukup tergambar dengan baik.
Penggambaran dengan sederhana membuat identifikasi kebutuhan dengan use case dapat dengan lebih mudah untuk dipahami.
Pendekatan identifikasi kebutuhan dapat berdasarkan top down (keinginan dari manajemen level atas) maupun bottom up (keinginan pengguna akhir).
Dapat meng-include (memasukkan) fungsionalitas use case lain sebagai bagian dari proses dalam dirinya.
dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common.
Dapat meng-extend (memperpanjang) use case lain dengan behaviour-nya sendiri.
Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.

Kelemahan:
Kekurangan mengenai data masih kurang teridentifikasi dengan baik.
2. Activity Diagram
Activity diagram menyediakan analis dengan kemampuan untuk memodelkan proses dalam suatu sistem informasi. Activity diagram dapat digunakan untuk alur kerja model, use case individual, atau logika keputusan yang terkandung dalam metode individual3. Activity diagram juga menyediakan pendekatan untuk proses pemodelan paralel. Activity diagram lebih lanjut .
activity diagram


Pada dasarnya, diagram aktifitas canggih dan merupakan diagram aliran data yang terbaru. Secara teknis, diagram aktivitas menggabungkan ide-ide proses pemodelan dengan teknik yang berbeda termasuk model acara, statecharts, dan Petri Nets.

Notasi yang digunakan dalam activity diagram adalah sebagai barikut:
Activity: Notasi yang menggambarkan pelaksanaan dari beberapa proses dalam aliran pekerjaan.
Transition: Notasi yang digunakan untuk memperlihatkan jalan aliran control dari activity ke activity.
Decision: Notasi yang menandakan kontro cabang aliran berdasarkan decision point.
Synchronization bars: Aliran kerja notasi ini menandakan bahwa beberapa aktivitas dapat diselesaikan secara bersamaan (pararel).
3. Package Diagram
Package diagram utamanya digunakan untuk mengelompokkan elemen diagram UML yang berlainan secara bersama-sama ke dalam tingkat pembangunan yang lebih tinggi yaitu berupa sebuah paket. Diagram paket pada dasarnya adalah diagram kelas yang hanya menampilkan paket, disamping kelas, dan hubungan ketergantungan, disamping hubungan khas yang ditampilkan pada diagram kelas.
package diagram


Sebagai contoh, jika kita memiliki sistem pendaftaran untuk kantor dokter, mungkin masuk akal untuk kelompok kelas pasien dengan kelas sejarah medis pasien bersama-sama untuk membentuk paket kelas pasien. Selain itu, dapat berguna untuk membuat paket perawatan yang mengandung gejala penyakit, penyakit, dan obat-obatan khas yang diresepkan untuk mereka. 
4. State Diagram
State diagram menggambarkan urutan keadaan yang dilalui objek dalam suatu kelas, karena suatu kejadian menyababkan suatu perpindahan aktivitas/state. State dari objek adalah penggolongan dari satu atau lebih nilai attribute pada kelas.
Bersifat dinamis. Diagram state ini memperlihatkan statestate pada system, memuat state, transisi, event, serta aktifitas. Diagram ini terutama penting untuk memperlihatkan sifat dinamis dari antarmuka, kelas, kolaborasi dan terutama penting pada pemodelan system – system yang reaktif.

contoh :“Peminjaman Barang””
Seorang peminjam yang akan meminjam akan mengisi form peminjaman.
Sistem akan megecek keadaan barang. Barang tersebut tersedia apa tidak, atau barang tersebut dapat di pinjam atau tidak
Setelah barang tersedia, sistem akan memvalidasi persetujuan peminjaman barang dan menyerahkan barang kepada peminjam. 
Sistem juga akan mencari informasi tentang barang yang akan dipinjam, maka akan dilakukan permintaan akan informasi barang.
Jika informasi yang diterima masih kurang, akan dilakukan permintaan ulang sampai seluruh informasi yang dibutuhkan didapatkan.
Saat informasi sudah cukup, informasi tersebut akan diserahkan kepada peminjam barang tersebut.
5. Sequence Diagram
Sequence diagram menjelaskan interaksi objek yang disusun berdasarkan urutan waktu. Secara mudahnya sequence diagram adalah gambaran tahap demi tahap yang seharusnya dilakukan untuk menghasilkan sesuatu sesuai dengan use case diagram.
Bersifat dinamis. Diagram urutan adalah interaksi yang menekankan pada pengiriman pesan (message) dalam suatu waktu tertentu.
Sequence diagram menekankan penyusunan berbasis waktu untuk kegiatan yang dilakukan dengan satu set dari objek yang berkolaborasi. Sequence diagram sangat berguna dalam membantu analis, memahami spesifikasi real-time dan menggunakan kasus yang rumit (lihat di bawah). Diagram ini dapat diguanakan untuk mendeskripsikan baik secara fisik dan logis interaksi antara objek.
sequence diagram

Pada contoh
sequence diagram diatas digambarkan contoh use case investasi perdagangan. Pada diagram tersebut obyek yang berinteraksi adalah user, userinterface sistem, dan interface terhadap sistem eksternal.Pada diagram tersebut terlihat aliran secara umum,yakni :
User memilih account investment.
Kemudian, sistem akan mengirimkan pesan pada sistem investor untukmelakukan query harga saham dari investasi pada account user.
Sistem akan menampilkan harga saham pada account investasi user.
User memilih investasi dan jumlah saham yang akan dijual.
Sistem akan mengirimkan pesan kepada sistem investor untukmenyampaikan permintaan untuk menjual saham yang telah ditentukan oleh user.
6. Class Diagram (Class Diagram)
Class adalah dekripsi kelompok obyek-obyek dengan property, perilaku (operasi) dan relasi yang sama. Sehingga dengan adanya class diagram dapat memberikan pandangan global atas sebuah system. Hal tersebut tercermin dari class- class yang ada dan relasinya satu dengan yang lainnya. Sebuah sistem biasanya mempunyai beberapa class diagram. Class diagram sangat membantu dalam visualisasi struktur kelas dari suatu system.
Bersifat statis. Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka, kolaborasi-kolaborasi, serta relasi-relasi. Diagram ini umum dijumpai pada pemodelan system berorientasi objek.
Kelas Diagram berfungsi untuk menjelaskan tipe dari object sistem dan hubungannya dengan object yang lain. Object adalah nilai tertentu dari setiap attribute kelas entity. Pada penggambaran kelas diagram ada dikenal dengan kelas analisis yaitu kelas ber-stereotype. Tapi yang biasanya dipakai adalah kelas diagram tanpa stereotype.


Kelemahan:

Sulit untuk penentuan antara atribut atau kelas, sering terjadi kesalahan
Pengimplementasian struktur data sukar dilakukan
Class memiliki 3 area pokok :
Name (dan stereotype);
Attribute;
Method.
class diagram

Penjelasan dari gambar di atas yaitu class pegawai memiliki hubungan langsung dengan slass department, class pelanggan memiliki keteterhubungan langsung dengan class transaksi, class transaksi tidak akan bisa tanpa adanya class departemen, begitu pun class produk yang dapat terbentuk tanpa adanya class transaksi, lalu class perlengkapan, makanan dan minuman dihungungkan menggunakan generalisasi ke class produk.
7. Communication Diagram
Communication diagram menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek. Setiap message memiliki sequence number, dimana message dari level tertinggi memiliki Nomor 1. Diagram membawa informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau memfokuskan pada kegiatan obyek dari waktu pesan itu dikirimkan.
Contoh : Diagram Collaboration “Pemesanan kamar di Hotel”

communication diagram
.
8. Composite Structure Diagram
Diagram struktur komposit adalah diagram yang menunjukan struktur internal classifier, termasuk poin interaksinya ke bagian lain dari system. Hal ini menunjukkan konfigurasi dan hubungan bagian, yang bersama-sama melakukan perilaku classifier. Diagram struktur komposit merupakan jenis diagram struktur yang statis dalam UML, yang menggambarkan struktur internal kelas dan kolaborasi.

composite diagram


Struktur komposit dapat digunakan untuk menjelaskan:
Struktur dari bagian-bagian yang saling berkaitan;
Run-time struktur yang saling berhubungan.
9. Object Diagram
Object diagram merupakan sebuah gambaran tentang objek-objek dalam sebuah system pada satu titik waktu. Karena lebih menonjolkan perintah-perintah dari pada class, object diagram lebih sering disebut sebagai sebuah diagram perintah.
Object diagram sangat mirip dengan diagram kelas. Perbedaan utama adalah bahwa diagram objek menggambarkan objek dan hubungan mereka. Tujuan utama dari diagram objek adalah untuk memungkinkan analis untuk mengungkap rincian tambahan kelas. Dalam beberapa kasus, pernyataan variabel dari sebuah class diagram dapat membantu pengguna atau analis dalam menemukan atribut tambahan yang relevan, hubungan, dan atau operasi, atau mungkin menemukan bahwa beberapa atribut, hubungan, atau operasi yang salah tempat.
Bersifat statis. Diagram ini mempelihatkan objek-objek serta relasi-relasi antar objek. Diagram objek memperlihatkan instansiasi statis dari segala sesuatu yang dijumpai pada diagram kelas.

object diagram

10. Timing Diagram
Memperlihatkan interaksi ketika tujuan utama diagram adalah waktu. Menggambarkan perubahan dalam state atau kondisi dari pengelompokkaninstance atau tugas berlebihan. Biasanya dipakai untuk memperlihatkan perubahan dalam state objectberlebihan dalam merespon ke external events. Dipakai untuk memperlihatkan perilaku dari sebuah/ beberapa object melaluiperiode waktu.

Ada 2 jenisTiming diagram yaitu 
Concise/simple notation: Dipakai untuk mengeksplorasi sebuah/beberapa object melalui periode waktu
Robust notation
time diagram

Diagram tersebut akan menjadi ideal ketika kita mampu menyeimbangkan ke-6 elemen yang ada, bukan menariknya ke satu atau dua arah saja. Tiap orang biasanya punya satu elemen yang dominan, tinggal bagaimana mengoptimalkan elemen-elemen yang lain saja.
11. Component Diagram
Diagram ini bila dikombinasikan dengan diagram penyebaran dapat digunakan untuk menggambarkan distribusi fisik dari modul perangkat lunak melalui jaringan. Misalnya, ketika merancang sistem client-server, hal ini berguna untuk menunjukkan mana kelas atau paket kelas akan berada pada node klien dan mana yang akan berada di server.
component diagram


Diagram komponen juga dapat berguna dalam merancang dan mengembangkan sistem berbasis komponen. Karena berfokus pada analisis sistem berorientasi objek dan desain.
12. Deployment Diagram
Deployment diagram menggambarkan detail bagaimana komponen di deploy dalam infrastruktur system, dimana komponen akan terletak (pada mesin, server atau piranti keras), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal. Hubungan antar node ( misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.
deploy diagram

13. Interaction Overview Diagram
Interaction Overview Diagram adalah pecangkolan secara bersama antara activity diagram dengan sequence diagram. Interaction Overview Diagram dapat dianggap sebagai activity diagram dimana semua aktivitas diganti dengan sedikit sequence diagram, atau bisa juga dianggap sebagai sequence diagram yang dirincikan dengan notasi activity diagram yang digunakan untuk menunjukkan aliran pengawasan.
interaction overview diagram

Tujuan Dalam Menggunakan UML

  1. Memodelkan suatu sistem dalam sebuah alur berupa gambar.
  2. Memperjelas suatu flow atau alur sistem kemana arah sistem, mulai dari awal hingga - akhir dalam suatu sistem yang akan dibuat.
  3. Menggambarkan interaksi apa saja yang terjadi dalam suatu sistem.
  4. Menggambarkan apa saja dan siapa saja yang terlibat dalam suatu sistem.
  5. Memodelkan perangkat apa saja yang dibutuhkan pada sistem yang akan dibuat.



Manfaat Dalam Menggunakan UML

  1. Memudahkan para programmer dalam membuat sistem yang akan dibuat.
  2. Memudahkan para programmer mengetahui alur sistem / flow suatu sistem. 
  3. Memudahkan para programmer perangkat apa saja yang dibutuhkan dalam sistem tersebut.
  4. Memudahkan para programmer menggambarkan sistem yang akan dibuat tentu dengan desain dan fitur apa saja yang ada dalam fitur tersebut.
  5. Memudahkan para developer dalam mengimplementasikan program yang dibuat.


Share:

Sabtu, 01 April 2017

METODE & CARA MENGATASI/MENANGGULANGI DEFACE

METODE & CARA MENGATASI/MENANGGULANGI DEFACE

Pengertian

Deface yang berdasarkan kamus umum berarti merusakkan / mencemarkan / menggoresi / menghapuskan tetapi arti kata deface disini yang sangat lekat adalah sebagai salah satu kegiatan merubah tampilan suatu website baik halaman utama  atau index filenya ataupun halaman lain yang masih terkait dalam satu  url dengan website tersebut (bisa di folder atau di file).

Deface adalah teknik mengganti atau menyisipkan file pada server, teknik ini dapat dilakukan karena terdapat lubang pada sistem security yang ada di dalam sebuah aplikasi. Hal ini bertujuan untuk melakukan perubahan tampilan pada website korban dengan tampilan yang dimiliki oleh si defacer. Deface merupakan sebuah serangan yang dilakukan untuk mengganti visual dari sebuah website. Para hacker biasanya meninggalkan pesan dan nickname mereka agar hasil kerjanya diketahui oleh semua hacker.


Metode - metode Deface :

1. Sql Injection
   Sql Injection sendiri menggunakan Tool Havij atau Sqli Dumper, tp saya sendiri lebih senang menggunakan Havij.
   Menurut saya teknik ini susah susah gampang. Kadang gagal, kadang gagal, kadang gagal, gagal aja terus berhasilnya cuma sedikit :(
   Mungkin saya ga hoki di metode itu. Tapi jangan khawatir masih ada teknik lain nya

2. Metode Com_Fabrik
   Hmmm, metode ini memanfaatkan celah upload file CSV. Membuka celah tersebut juga ada exploitnya (jgn maunya di suapin aja cari di gugel).
   Dengan memanfaatkan celah ini kalian bisa menanam shell backdoor yang berformat .php (tapi tidak selalu berhasil) atau kalian hanya ingin upload script deface nya saja juga bisa.

3. Metode Com_user
   Metode ini memanfaatkan celah/bug pada CMS Joomla, dan menggunakan exploitnya.
Dengan teknik ini kalian bisa masuk menjadi admin dengan mudah. Eiittss tapi untuk mencari target yang vuln sekarang cukup sulit.

4. Metode Com_sexy
   Metode ini mungkin terdengan berbau sara ya,?? nah untuk metode ini memanfaatkan celah DMCA Submit.. untuk tutornya silahkan cari di gugel ya

5. Metode KindEditor
  Metode ini sangat cocok untuk pemula, selain tutorialnya mudah.. teknik nya juga simple.
untuk teknik ini saya telah membuat tutorialnya Baca Di Sini

6. Metode WP Brute Force
Metode ini menggunakan tool khusus untuk scan username admin dan password adminnya,
Nama toolnya WP Brute Force.. Teknik ini juga bisa di bilang cukup mudah untuk pemula

7. Metode WebDav Vuln
nah metode ini di buat oleh defacer asal Indonesia yang telah Mendunia.. yaitu Hmei7
metode ini membutuhkan tool khusus yang bernama RootkitHmei7.

 8. Metode  LIsting Shell Upload Vuln
Ya, metode ini di bilang susah susah gampang, teknik ini membutuhkan tool Tamper Data di Mozila,
teknik ini merubah nama shell backdoor.

Cara Mengatasi & Menanggulangi Deface :

1.      Cara mengatasi website/blog yang terkena deface

a.       Download source & database yang ada diwebsite untuk backup. Hal ini berjaga-jaga apabila langkah yang kita lakukan gagal, tetapi apabila konfigurasi & lengkap dijamin 100% berhasil, terkecuali ada sesuatu yang terlewatkan. 
b.      Download source CMS versi terbaru dari website penyedia CMS, misalkan : www.drupal.org, www.joomla.org, www.wordpress.org, dsb.
c.       Lakukanlah perbaikan database secara lokal, berjaga-jaga apabila backdoor ada di database. Biasanya didalam database ada acces user tidak dikenal yang akses levelnya sama dengan Administrator.
d.      Install CMS yang tadi sudah didownload diweb hosting. Kemudian lakukanlah konfigurasi : database, file permission, directory permission. Jangan menggunakan default configuration, modifikasilah konfigurasi-konfigurasi yang ada agar lebih powerfull.
e.       Kemudian instalasi component: Themes, Plugin, Component, dsb. Gunakanlah yang paling update, atau source baru dari komponen yang akan diinstall(Fresh Install Component).
f.       Kemudian update database, dengan login ke Database Control Panel(phpmyadmin, DB Admin, cPanel Database, dsb). Setelah melakukan login, maka importlah database.   
g.      Gantilah username Administrator & Password menggunakan nama yang lebih Unik, jangan menggunakan user (admin, administrator, adm1n, dsb) gunakanlah yang lebih powerfull dan susah untuk ditebak untuk menghindari bruteforce, gunakanlah alias untuk menampilkan username administrator di web content.



2.      Cara untuk menanggulangi kasus deface

a.      Penggunaan Firewall. Tujuan utama dari firewall adalah untuk menjaga agar akses dari orang tidak berwenang tidak dapat dilakukan. Program ini merupakan perangkat yang diletakkan antara internet dengan jaringan internal. Informasi yang keluar dan masuk harus melalui atau melewati firewall. Firewall bekerja dengan mengamati paker Intenet Protocol (IP) yang melewatinya
b.      Wajib untuk mengikuti perkembangan source dari source website yang digunakan, backuplah website dan database sebelum dilakukan update.
c.       Kebanyakan defacer telah memasang backdoor ketika telah berhasil melakukan deface website, hal ini dimungkinkan agar dapat melakukan deface ulang terhadap website. Wajib untuk memeriksa perubahan folder, file, database dan source terakhir dari website 
d.      Pelajarilah lebih dalam mengenai dasar-dasar hacking dan antisipasinya, contoh hacking yaitu SQL Injection. 
e.       Sering-seringlah berdiskusi si forum dan milist yang berkaitan dengan perangkat  serta aplikasi yang mensupport website, baik dari sisi operating system, tempat hosting, bugtrack milist, developer milist, dsb. 
f.       Hardening website dan source wajib dilakukan, misalkan jangan menggunakan ”default configuration”, aturlah sedemikian rupa ”configuration website” dengan memperhatikan: permission, acces level, indexiding, database configuration, password dan user management.
g.      Gunakanlah tambahan plugin / component yang tepat, sehingga dapat meminimalisasi terjadinya kegiatan defacing dari thirdparty. Pastikan hasil review & ranking plugin bereputasi baik dan sudah diverified oleh penyedia CMS yang bersangkutan.
h.      Lakukanlah penetration testing terhadap website, baik secara lokal maupun langsung di website. Banyak tools penetration testing yang bisa digunakan: Nexus, Acunetix, dsb.

Share: