Tuesday, June 11, 2013

SOFTWARE SECURITY INTRODUCTION

Apakah software security (keamanan perangkat lunak)? Dalam software security kita harus memahami peranan perangkat lunak dalam memberikan keamanan dan sebagai sumber ketidakamanan. Prinsip, metode & teknologi untuk membuat perangkat lunak yang lebih aman serta pengalaman praktis dengan beberapa ancaman khas & kerentanan dalam perangkat lunak, dan bagaimana untuk menghindari mereka.

Pada judul ini kita fokus pada keamanan perangkat lunak, tapi jangan lupa bahwa keamanan adalah tentang banyak hal, seperti:
- manusia
      - interaksi manusia komputer
      - penyerang, pengguna, karyawan, sys-admin, programmer 
- kontrol akses, password, biometrik
- kriptografi, protokol
- pemantauan, audit, manajemen risiko
- kebijakan, peraturan
- humas, persepsi masyarakat, dan lain-lain

Keamanan adalah tentang mengatur akses ke aset, misalnya., informasi atau fungsi. Software menyediakan fungsionalitas, misalnya, hasil ujian on-line. Fungsi ini dilengkapi dengan risiko tertentu, misalnya, apa risiko hasil ujian on-line? 
Keamanan selalu menjadi perhatian kedua. Tujuan utama software adalah untuk menyediakan fungsionalitas atau layanan sehingga yang diperhatikan utama adalah fungsi dan tujuannya. Keamanan sulit untuk dievaluasi ketika tidak ada hal buruk terjadi.
 
Gambar konsep keamanan



Keamanan adalah hal tentang memaksakan tindakan untuk mengurangi risiko aset ke tingkat yang dapat diterima. Sebuah kebijakan keamanan adalah spesifikasi dari apa persyaratan keamanan / tujuan penanggulangan yang dimaksudkan untuk mencapai keamanan terhadap apa dan dari siapa? Mekanisme keamanan adlah untuk menegakkan kebijakan.


Tujuan keamanan:
- Confidentiality / kerahasiaan dimana pengguna yang tidak sah tidak dapat membaca informasi
- Integrity / integritas dimana pengguna yang tidak sah tidak dapat mengubah informasi
- Availability / ketersediaan dimana pengguna resmi selalu dapat mengakses informasi

Tujuan keamanan dapat diwujudkan dengan:
- Authentication / otentikasi
- Access control / Authorization (akses kontrol / otorisasi)
- Auditing / audit keamanan
- Action / aksi perwujudan dari keamanan yang akan dicapai
- Prevention / tindakan pencegahan adalah langkah-langkah untuk menghentikan pelanggaran 
- Detection / deteksi adalah  langkah-langkah untuk mendeteksi pelanggaran keamanan
- Reaction / reaksi adalah langkah-langkah untuk memulihkan aset, memperbaiki kerusakan, dan menganiaya (dan mencegah) pelaku


Sumber: University of Central Florida lesson Software Security Introduction (Spring 2012)

Wednesday, June 5, 2013

KLASIFIKASI SQL INJECTION ATTACK

Klasifikasi SQLIA (SQL Injection Attack / Serangan Injeksi SQL)


Parameter
Klasifikasi
Metode
Teknik / Implementasi
Intent /
sengaja dilakukan
Mengidentifikasi parameter yang dapat diinjeksi
Lihat ‘Jenis serangan yang diinput’
Mengekstrak data
Menambah atau merubah data
Melakukan Denial of Service
Menghindari deteksi
Melewati otentikasi
Mengeksekusi dengan perintah dari jarak jauh
Melakukan ekskalasi hak istimewa
Sumber input
Menginjeksi melalui masukan pengguna
String berbahaya pada form web
URL: GET-Method
Memasukkan field: POST-Method
Menginjeksi melalui cookies
Field cookie yang dimodifikasi yang mengandung SQLIA
Menginjeksi melalui variable server
Header yang dimanipulasi untuk mengandung SQLIA
Injeksi perintah kedua
Aplikasi primer berbasis frekuensi
Aplikasi sekunder berbasis frekuensi
Aplikasi pendukung sekunder
Aplikasi pengarahan aliran
Jenis serangan yang diinput,
aspek teknis
SQLIA Klasik
Kueri piggybacking (yang ditumpangi)
Pengulangan yang tidak berguna (tautologi)
Encoding alternatif
Kueri illegal/tidak benar secara logikal
Perpaduan SQLIA
Prosedur SQLIA yang tersimpan
Kesimpulan
SQLIA klasik yang buta
Respon bersyarat
Kesalahan bersyarat
Keluar dari saluran
SQLIA menggunakan waktu
SQLIA buta ganda (penundaan waktu/ serangan benchmark)
SQLIA buta mendalam (beberapa pernyataan SQLIA)
SQLIA yang spesifik ke DBMS
Database sidik jari
Database pemetaan
SQLIA yang diperberat
SQLIA fluks cepat