PENDAHULUAN Keamanan Jaringan dan Privasi Instruktur : Ferry WahyuWibowo, S.Si., M.Cs.
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 Phishing attacks, usability
orang
email, Web, NFS aplikasi sesi transport
jaringan data link physical
Sendmail, FTP, NFS bugs, chosenprotocol and version-rollback attacks
RPC
RPC worms, portmapper exploits
TCP
SYN flooding, RIP attacks, sequence number prediction
IP 802.11
IP smurfing and other address spoofing attacks WEP attacks
RF
RF fingerprinting, DoS
Hanya seaman lapisan tunggal terlemah atau interkoneksi antar lapisan
Pertahanan Jaringan Orang
Pengguna
Password managers, company policies…
Implementasi
Firewalls, intrusion detection…
Blueprints
Protokol dan kebijakan
TLS, IPsec, access control…
Batu bata awal
Kriptografi jadul
RSA, DSS, SHA-1…
Sistem
Semua mekanisme pertahanan harus bekerja dengan baik dan aman
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? •Mencuri sumber
Black Hat •Disassembly
•Fuzzing
•Analisis statis
•Debugging
Security Engineer •Review sumber
Researcher
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 ingin
dipermalukan
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 Pertahanan So, 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
Lihat respon
• Manipulasi manual • Fuzzing • Process hooking
• 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 WMP 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 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 positif
kesalahan
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