pendahuluan keamanan jaringan dan...
TRANSCRIPT
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
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
“Smarter Fuzzing”
Menyimpan atau mengimplementasikan bagian melalui fungsi
buka-tutup
Menggunakan pengetahuan protokol atau format file
Menggunakan process hooking
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
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
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;
}