38
Instruktur : Ferry WahyuWibowo, S.Si., M.Cs. PENDAHULUAN Keamanan Jaringan dan Privasi

PENDAHULUAN Keamanan Jaringan dan Privasielearning.amikom.ac.id/index.php/download/materi/190000005-ST047-1/...Keamanan Jaringan dan Privasi. Kesepakatan Perkuliahan. Materi Perkuliahan

Embed Size (px)

Citation preview

Instruktur : Ferry WahyuWibowo, S.Si., M.Cs.

PENDAHULUAN

Keamanan Jaringan dan Privasi

Kesepakatan Perkuliahan

Materi Perkuliahan

Textbook:

Kaufman, Perlman, Speciner. “Network Security”

Tugas membaca

“Smashing the Stack For Fun and Profit” oleh Aleph One (dari Phrack

hacker magazine)

Ross Anderson’s “Security Engineering”

banking, nuclear command and control, burglar alarms

“The Shellcoder’s Handbook”

Praktik manual serangan hacking

Kevin Mitnick’s “The Art of Intrusion”

Cerita nyata hacking

Tema Perkuliahan

Aplikasi jejaring dan vulnerabilitas

Worms, denial of service attacks, malicious code dari network,

serangan pada infrastruktur

Teknologi pertahanan

Proteksi informasi : kriptografi, application- and transport-layer

security protocols

Proteksi aplikasi jaringan: firewall dan deteksi penyusup

Study beberapa sistem yang dikembangkan: dari prinsip desain

sampai implementasi

Kerberos, SSL/TLS, IPsec

Tentang kuliah ini

Tidak berkutat pada keamanan komputer

Tidak berkutat pada isu etika, legal atau ekonomi

Hanya memandang sebagian dari kriptografi

Hanya berkisar pada beberapa keamanan sistem

Tidak ada akses kendali, keamanan OS, keamanan berbasis bahasa

Sedikit mengamankan perangkat keras

Membahas penyebab terjadinya serangan

Motivasi https://

Diambil dari “General Terms of Use”

YOU ACKNOWLEDGE THAT NEITHER WELLS FARGO, ITS AFFILIATES NOR ANY OF THEIR RESPECTIVE EMPLOYEES, AGENTS, THIRD PARTY CONTENT PROVIDERS OR LICENSORS WARRANT THAT THE SERVICES OR THE SITE WILL BE UNINTERRUPTED OR ERROR FREE; NOR DO THEY MAKE ANY WARRANTY AS TO THE RESULTS THAT MAY BE OBTAINED FROM USE OF THE SERVICES OR THE SITE, OR AS TO THE TIMELINESS, SEQUENCE, ACCURACY, RELIABILITY, COMPLETENESS OR CONTENT OF ANY INFORMATION, SERVICE, OR MERCHANDISE PROVIDED THROUGH THE SERVICES AND THE SITE.

“Privasi dan keamanan”

“As a Wells Fargo customer, your privacy and security always come first.”

• Privacy policy for individuals

• Online privacy policy

• Our commitment to online security

• Online and computer security tips

• How we protect you

• General terms of use

Sifat Keamanan

Otentikasi (Authenticity)

Kerahasiaan (Confidentiality)

Kejujuran (Integrity)

Ketersediaan (Availability)

Accountability and non-repudiation

Penyegaran (Freshness)

Kendali akses (Access control)

Privasi dari informasi yang terkumpul

Integritas dari routing dan infrastruktur DNS

Mekanisme Keamanan

Dasar kriptografi

Enkripsi simetrik dan kunci publik, sertifikat, kriptografi fungsi hash,

pseudo-random generators

Otentikasi dan pengadaan kunci

Studi kasus : Kerberos

Keamanan IP

Studi kasus: IPsec protocol suite

Keamanan web

Studi kasus: SSL/TLS (Transport Layer Security)

Serangan dan Pertahanan

Serangan buffer overflow

Serangan jaringan

Denial of service tertolak

Worm dan virus

Serangan pada routing dan infrastruktur DNS

Tool pertahanan

Firewall dan sistem deteksi penyusupan

Keamanan nirkabel

Spam dan phishing

Sisi gelap

Salah satu alasan mempelajari teknik serangan adalah untuk membangun pertahanan yang lebih baik

Jadi jangan pernah berfikir menggunakannya untuk menyerang orang lain

Keinginan penyerang?

Ambil website finansial palsu, mengumpulkan login dan

password pengguna, kosongkan semua akunnya

Sisipkan program tersembunyi pada komputer pengguna,

gunakan untuk menyebarkan spam

Menumbangkan proteksi salinan, mendapatkan akses ke file

musik dan video

Tahap serangan denial of service pada website, memeras uang

Menimbulkan kerusakan, memperoleh ketenaran dan kejayaan

dalam komunitas blackhat

Stack Jaringan

orang

aplikasi

sesi

transport

jaringan

data link

physical

IP

TCP

email, Web, NFS

RPC

802.11

Sendmail, FTP, NFS bugs, chosen-protocol and version-rollback attacks

SYN flooding, RIP attacks,sequence number prediction

IP smurfing and otheraddress spoofing attacks

RPC worms, portmapper exploits

WEP attacks

Hanya seaman lapisan tunggal terlemah atau interkoneksi antar lapisan

RFRF fingerprinting, DoS

Phishing attacks, usability

Pertahanan Jaringan

Kriptografi jadul

Protokol dan kebijakan

Implementasi

Batu bataawal

Blueprints

Sistem

RSA, DSS, SHA-1…

TLS, IPsec, access control…

Firewalls, intrusion

detection…

Semua mekanisme pertahanan harus bekerja dengan baik dan aman

PenggunaOrang Password managers,

company policies…

Pembenaran versus Keamanan

Pembenaran sistem:

Sistem sesuai dengan spesifikasi

Untuk masukan yang masuk akal, mendapatkan keluaran yang masuk

akal

Keamanan sistem :

Sifat sistem dipersiapkan menghadapi serangan

Untuk alasan yang tidak masuk akal, keluaran tidak sepenuhnya hancur

Perbedaan pokok: interferensi aktif dari musuh

Rancangan modular dapat lebih mudah terserang, namun juga

meningkatkan keamanan

Abstraksi sulit didapatkan untuk mencapai keamanan : bagaimana jika

musuh beroperasi dibawah tingkat abstraksi?

Berita buruk

Keamanan sering tidak menjadi perhatian

Kinerja dan kegunaan perlu ada

Sistem yang kaya fitur dapat kurang dipahami

Implementasi adalah bug

Buffer overflow saat ini mudah diserang

Cross-site scripting dan serangan web lain

Jaringan lebih terbuka dan dapat diakses daripada sebelumnya

Meningkatkan kehancuran, mudah melindungi track

Banyak serangan teknis

Phishing, impersonation, dll.

Berita baik

Ada banyak mekanisme pertahanan

Dipelajari sebagian saja tidak semuanya

Penting memahami keterbatasan

“If you think cryptography will solve your problem, then you don’t

understand cryptography… and you don’t understand your

problem” -- Bruce Schneier

Banyak celah keamanan karena tidak paham

Peringatan keamanan dan bantuan pengguna

Faktor penting yang lain: kegunaan dan ekonomi

Perlunya mencari bug?

Black Hat

ResearcherSecurity Engineer

•Disassembly

•Fuzzing

•Review sumber

•Mencurisumber

•Analisisstatis •Debugging

Bertha the Black Hat of Ill Repute Tujuan

Tergantung pada eksploitasi

Stealthy

Sasaran

Biasanya hanya perlu satu bug

Tidak memerlukan dokumen lain

Akses

Sering tidak menggunakan sumber

Marvin the Megalomaniacal Researcher

Tujuan

Ingin muncul di media, menopang teman

Lebih menyukai platform tren

Mencari uang dari ZDI/Pwn2Own

Sasaran

Tidak perlu tampil sempurna, tidak ingindipermalukan

Akses

Akses biasanya lewat perekayasa

Sumber == Pengacara

Sally the Stressed Security

Engineer Tujuan

Mencari banyak kemungkinan

Mengurangi kerusakan eksploitasi

Sasaran

Harus punya ukuran

Harus bersandar pada sesuatu

Akses

Kode sumber, simbol debug, perekayasa

Uang untuk tool dan staf

Kesulitan PertahananSo, oft in theologic wars

The disputants, I ween,

Rail on in utter ignorance

Of what each other mean,

And prate about an Elephant

Not one of them has seen!

Kesulitan bertahan Perang asimetrik

Baris pertahanan harus sempurna

Penyerang dapat baik dan beruntung

Kaitan dengan pertahanan adalah pencarian bug yang

merupakan strategi pertahanan yang efisien

Keterbatasan

Kerusakan serius yang ditemukan tidak

mengimplementasikan kerusakan

Masalah yang sering muncul:

Mempercayai komponen yang tidak terpercaya

Sedikit menggunakan kriptografi

Melupakan atau menghilangkan fitur keamanan

Pencarian Black Box Bug Tujuan dasar sebagai latihan tahapan software ketika melihat

tanggapan yang menandakan sifat yang mudah terserang

Latihan

• Manipulasi manual

• Fuzzing

• Process hooking

Lihat respon

• Process stalking

• Debugging

• Emulation

Menentukan yang dapat dieksplotasi

• Disassembly

• Debugging

Fuzzing

“Smarter Fuzzing”

Menyimpan atau mengimplementasikan bagian melalui fungsi

buka-tutup

Menggunakan pengetahuan protokol atau format file

Menggunakan process hooking

Debugging

Reverse Engineering

Dekompilasi

Sering digunakan untuk kode semi-compiled

.Net CLR

Java

Flash

Dapat bekerja dengan simbol C++

Disassembly

1:1 sesuai dengan kode mesin

Modern disassembler mengijinkan untuk proses analisis

otomatis yang tinggi

Protocol Reverse Engineering

Disassembly - IDA Pro

Reversing Patches - BinDiff

Mengalahkan analisis Black Box Bug Berbagai program termasuk fungsi anti-debug

Cek PDB

System calls, monitor process space

Throw INTs, test for catch

Timing test

Anti-Reversing

Dynamic Unpacking

Pointer Arithmetic

Encrypted and obfuscated function calls

Anti-Anti-Debug - Snitch

Snitch Output on WMPPotential break-point debugger check at 0x4bf9f889 (blackbox.dll)

Exception handler 1 is at 0x4bf9fe71 (blackbox.dll)

Exception handler 2 is at 0x7c839ac0 (kernel32.dll)

Potential break-point debugger check at 0x4bf9f9fc (blackbox.dll)

Exception handler 1 is at 0x4bf9fe71 (blackbox.dll)

Exception handler 2 is at 0x7c839ac0 (kernel32.dll)

Potential break-point debugger check at 0x4bf9f889 (blackbox.dll)

Exception handler 1 is at 0x4bf9fe71 (blackbox.dll)

Exception handler 2 is at 0x7c839ac0 (kernel32.dll)

Potential break-point debugger check at 0x4bf9f889 (blackbox.dll)

Exception handler 1 is at 0x4bf9fe71 (blackbox.dll)

Exception handler 2 is at 0x7c839ac0 (kernel32.dll)

Potential break-point debugger check at 0x4bf9f889 (blackbox.dll)

Exception handler 1 is at 0x4bf9fe71 (blackbox.dll)

Exception handler 2 is at 0x7c839ac0 (kernel32.dll)

Potential OutputDebugString debugger check at 0x7c812aeb

Module: \Device\HarddiskVolume1\WINDOWS\system32\kernel32.dll

Potential break-point debugger check at 0x4df75f36 (drmv2clt.dll)

Exception handler 1 is at 0x4dfda68e (drmv2clt.dll)

Exception handler 2 is at 0x7c839ac0 (kernel32.dll)

Pencarian White Box Bug Teknik Black Box selalu bekerja lebih baik dengan konteks lebih Kerusakan lebih cepat Kerusakan patch lebih cepat

Analisis dapat mulai dengan kode sumber Lihat pada area sensitif Menggunakan analisis lexikal untuk memberikan pandangan Flawfinder

RATS

Menggunakan analaisis semantik Coverity

Fortify

Kebanyakan teknikWhite Box juga meningkatkan cacah positifkesalahan

Hard to Find Bugs MS10-002 – Remote Code Execution in IE 5-8

function window :: onload ()

{

var SourceElement = document.createElement ("div");

document.body.appendChild (SourceElement);

var SavedEvent = null;

SourceElement.onclick = function () {

SavedEvent = document.createEventObject (event);

document.body.removeChild (event.srcElement);

}

SourceElement.fireEvent ("onclick");

SourceElement = SavedEvent.srcElement;

}

Sekian untuk hari ini