Posts

Praktikum 15 - Threat Modeling

Threat Modeling Apa itu Threat Modeling ?      Threat Modeling adalah metode mengoptimalkan keamanan jaringan dengan menemukan kerentanan, mengidentifikasi tujuan, dan mengembangkan penanggulangan untuk mencegah atau mengurangi efek serangan cyber terhadap sistem.      Sementara itu tim keamanan yang sedang bertugas dalam organisasi dapat melakukan Threat Modeling dari titik mana pun selama pengembangan, dengan melakukannya di awal proyek adalah praktik terbaik. Dengan cara ini, ancaman dapat diidentifikasi lebih cepat dan ditangani sebelum menjadi masalah. Proses Threat Modeling      Proses Threat Modeling terdiri dari mendefinisikan aset perusahaan, mengidentifikasi fungsi apa yang digunakan pada setiap aplikasi dalam skema yang besar, dan membangun profil keamanan untuk setiap aplikasi.      Proses berlanjut dengan mengidentifikasi dan memprioritaskan potensi ancaman, kemudian mendokumentasikan peristiwa berbahaya dan tindak...

Pertemuan 12 Socket Programming Gui dengan Python

Image
Modul 10  GUI dengan Python Dasar Teori Python menyediakan berbagai cara untuk membuat aplikasi dengan Graphical User Interface (GUI). Salah satu library yang paling sering digunakan adalah tkinter. Jalankan perintah berikut untuk instalasi library Tcl/Tk: sudo apt-get install python3-tk Verifikasi hasil instalasi melalui terminal dengan perintah berikut. Percobaan Percobaan 1 1. Buatlah file baru 2. Kemudian ketikkan kode program berikut 3. Simpan file tersebut dengan nama hello.py 4. Jalankan file hello.py Analisa : pada program diatas menghasilkan GUI yang mencetak text hello world yang di mainloop dan tidak bisa di ubah ketika import Tkinter, Kita juga bisa memanggil semua metode, kelas, dan atribut dari modul Tkinter dengan menggunakan from Tkinter import * Membuat Jendela Aplikasi GUI, Setiap aplikasi GUI seharusnya memiliki sebuah jendela utama (root window), yang dapat berisi berbagai komponen yang diperlukan dalam aplikasi yang akan dibuat. Untuk membuat jendela utama da...

Pertemuan 11 Latihan Software Security Design

Image
Software Security Design Masalah Desain • Masalah desain terkait business logic flaw (bukan bugs karena kode belum dibuat) • Memperbaiki masalah (security) yang terjadi di production 100x lebih mahal daripada ketika pada fase desain • specification → architectural blueprint  →  code Contoh Kesalahan Desain • Banyak aplikasi tidak melakukan verifikasi email (sebagai identitas) untuk pembuatan akun, reset password, dll • Akibat kesalahan yang dapat berakibat fatal • Orang lain dapat membuat akun kita dengan alamat email orang tersebut, kita tidak  dapat membuat akun dilayanan tersebut • Reset password ke akun orang tersebut. • Yang seharusnya dilakukan adalah: • Pengguna mengisikan alamat email sebagai akun • Email dikirimkan dengan tautan (link) yang unik • Tunggu pengguna melakukan klik terhadap tautan (untuk verifikasi) • Akun baru dibuat Setelah sistem mendapatkan verifikasi tersebut Security is a Concern not a Feature • Contoh: • User authentication pada websi...

Laporan Pertemuan 11 Socket Programming Multirecipient

Image
Modul 9  Multirecipient Dasar Teori      Konsep client-server merupakan dasar dari setiap transaksi yang terjadi pada setiap aplikasi jaringan. Socket merupakan antarmuka antara application process dan transport layer. Setelah sebelumnya kita mempelajari beberapa metode untuk penanganan request dari banyak client ke server, maka muncul pertanyaan Bagaimana Jika kita akan mengirimkan data ke banyak penerima? Ada beberapa solusi yang dapat diterapkan diantaranya adalah menggunakan fasilitas yang disediakan oleh jaringan yaitu broadcast dan multicast. Dalam penerapannya metode broadcast dan multicast sendiri memiliki keterbatasan, yaitu: ■ Hanya UDP socket yang dapat melakukan broadcast dan multicast ■ Broadcast hanya mencakup lingkup lokal, biasanya jaringan area local (LAN). ■ Multicast di seluruh Internet saat ini tidak didukung oleh sebagian besar penyedia layanan  Internet.      Broadcast merupakan pengiriman data dengan tujuan semua alamat yang...

Tugas Socket Programming

Image
 Multirecipient Bagaimana Jika kita akan mengirimkan data ke banyak penerima? Solusi: Unicast salinan data kesetiap penerima menggunakan single connection. Permasalahan? Tidak efisien, karena: terjadi duplikasi boros bandwith  Menggunakan dukungan jaringan, dengan: Broadcast Multicast Keterbatasan: Hanya UDP socket yang dapat melakukan broadcast dan multicast Broadcast hanya mencakup lingkup lokal, biasanya jaringan area local (LAN). Multicast di seluruh Internet saat ini tidak didukung oleh sebagian besar penyedia layanan Internet. Unicast      Unicast adalah transmisi jaringan one-to-one. Sesuai dengan namanya, aliran data unicast hanya menghubungkan komputer tunggal dengan sistem yang dijadikan sebagai host dan perangkat sistem komputer lainnya sebagai tujuan.      Ketika digunakan, perangkat komputer tunggal asal hanya akan mencoba berkomunikasi dengan satu perangkat komputer tujuan saja.      Pada Transmission Control Protoco...

Tugas 4 Socket Programming

Image
  Multiplexing Konsep client-server merupakan dasar dari setiap transaksi yang terjadi pada setiap aplikasi jaringan. Socket merupakan antarmuka antara application process dan transport layer. Multiplexing adalah cara menangani beberapa klien dalam satu proses server. Aplikasi ini memungkinkan klien untuk terhubung ke server dan menambahkannya ke watch list. Watch list hanyalah sebuah array deskriptor soket. Kemudian sistem operasi memberitahu aplikasi klien (jika ada) yang perlu dilayani atau jika klien baru telah membuat koneksi. Untuk menangani permintaan dari client, server menggunakan fungsi select(). Fungsi select() merupakan sebuah fungsi sistem yang memungkinkan programmer untuk menentukan socket descriptor yang akan digunakan. Preforking Model ini sama dengan model forking, hanya saja model ini diperuntukan untuk jumlah client yang lebih banyak. kita tahu bahwa dengan banyaknya client maka waktu untuk membuat proses baru (untuk setiap client tersebut) semakin lama(menyebab...

Laporan Pertemuan 10 Socket Programming Multithreading

Image
 Modul 8 Multithreading Dasar Teori Konsep client-server merupakan dasar dari setiap transaksi yang terjadi pada setiap aplikasi jaringan. Socket merupakan antarmuka antara application process dan transport layer. Forking sebagai salah satu metode penanganan multiple request dari client yang sudah dipelajari sebelumnya memiliki kelemahan, yaitu: a. Performansi b. Portability c. Kompleksitas Salah satu solusi untuk permasalahan diatas adalah penggunaan thread. Thread berjalan secara paralel dan menggunakan shared memory global. Karena semua thread berjalan dalam proses dan ruang memori yang sama, secara otomatis thread berbagi soket yang lewat di antara mereka. Hal ini serupa dengan cara child process mewarisi deskriptor soket. Namun, tidak seperti proses, thread biasanya lebih murah untuk memulai, dan bekerja pada mesin Unix dan Windows di bawah standar Python. Percobaan Percobaan 1 1. Buatlah file baru 2. Kemudian ketikkan kode program berikut 3. Simpan file dengan nama echo_serve...