MENANGANI SERANGAN INTRUSI MENGGUNAKAN IDS DAN IPS

ABSTRAK SINGKAT

Pada tulisan ini akan dibahas salah satu teknologi untuk menangani intrusi dalam suatu jaringan. Teknologi tersebut disebut IDPS, yaitu Intrusion Detection and Prevention Systems. IDPS ini dapat dibagi dua, yaitu IDS dan IPS. IDS digunakan untuk hanya mendeteksi adanya intrusi sedangkan IPS dapat digunakan juga menghentikan intrusi. Baik IDS maupun IPS juga terdapat dua jenis, host-based dan network-based. Pada tulisan ini juga akan dibahas mengenai metode pendeteksian yang digunakan oleh IDPS ini, serta komponen yang digunakan.

PENDAHULUAN

Penggunaan internet saat ini merupakan suatu kebutuhan yang tidak dapat dihindari lagi. Dengan internet, segala sesuatunya akan menjadi lebih mudah. Namun dibalik semua kemudahan dan keuntungan yang didapatkan dengan hadirnya internet, terdapat pula masalah yang mengikutinya. Dalam beberapa tahun ini, masalah keamanan telah menjadi fokus utama dalam dunia jaringan komputer, hal ini disebabkan tingginya ancaman yang mencurigakan (suspicious threat) dan serangan dari Internet. Keamanan Informasi merupakan salah satu kunci yang dapat mempengaruhi tingkat Reliability (termasuk performa dan availability) suatu jaringan. Untuk mengatasi masalah keamanan jaringan dan komputer ada banyak pendekatan yang dapat dilakukan. Salah satunya adalah dengan menggunakan sistem IDS (Intrution Detection System) dan IPS (Intrusion Prevention System).

DEFINISI DAN KLASIFIKASI

IDS (Intrution Detection System) adalah sebuah sistem yang melakukan pengawasan terhadap lalulintas (traffic) jaringan dan pengawasan terhadap kegiatan-kegiatan yang mencurigakan didalam sebuah sistem jaringan. Jika ditemukan kegiatan-kegiatan yang mencurigakan berhubungan dengan lalulintas jaringan, maka IDS akan memberikan peringatan kepada sistem atau administrator jaringan. Dalam banyak kasus IDS juga merespon terhadap lalulintas yang tidak normal / anomali melalui aksi pemblokiran user atau alamat IP (Internet Protocol) yang melakukan usaha pengaksesan jaringan tersebut.

IPS (Intrusion Prevention System) adalah sebuah sistem yang menggabungkan fungsi firewall dan fungsi IDS dengan proporsional. Teknologi ini dapat digunakan untuk mencegah serangan yang akan masuk ke jaringan lokal dengan memeriksa dan mencatat semua paket data serta mengenali paket dengan sensor, disaat serangan telah teridentifikasi, IPS akan menolak akses (block) dan mencatat (log) semua paket data yang teridentifikasi tersebut. Jadi IPS bertindak sepeti layaknya firewall yang akan melakukan allow dan block yang dikombinasikan dengan IDS yang dapat mendeteksi paket secara detail. IPS menggunakan signatures dari paket untuk mendeteksi aktivitas lalulintas di jaringan dan terminal, dimana pendeteksian paket yang masuk dan keluar (inbound-outbound) dapat di cegah sedini mungkin sebelum merusak atau mendapatkan akses ke dalam jaringan lokal. Jadi early detection dan prevention menjadi penekanan pada IPS ini.

IDS dan IPS secara umum dikenal sebagai IDPS (Intrusion Detection and Prevention Systems). Biasanya dalam suatu perangkat keras memiliki fungsi IDS maupun IPS. Gambar 1 menunjukkan pembagian fungsi IDPS. Terdapat dua tipe IDS, yaitu NIDS dan HIDS. IPS juga memiliki dua tipe, yaitu NIPS dan HIPS.

hirarki
Gambar 1 Hirarki IDPS

  • NIDS (Network based IDS)

Semua lalu lintas yang mengalir ke sebuah jaringan akan dianalisis untuk mencari apakah ada percobaan serangan atau penyusupan ke dalam sistem jaringan. NIDS umumnya terletak di dalam segmen jaringan penting di mana server berada atau terdapat pada “pintu masuk” jaringan. Idealnya semua traffic yang berasal dari luar dan dalam jaringan di lakukan proses scan, namun cara ini dapat menyebabkan bottleneck yang mengganggu kecepatan akses di seluruh jaringan. Posisi dari NIDS dalam suatu jaringan dapat dilihat pada Gambar 2.

  • HIDS (Host based IDS)

IDS jenis ini diletakkan pada host yang berdiri sendiri atau perlengkapan dalam sebuah jaringan. Sebuah HIDS melakukan pengawasan terhadap paket-paket yang berasal dari dalam maupun dari luar hanya pada satu alat saja dan kemudian memberi peringatan kepada user atau administrator sistem jaringan akan adanya kegiatankegiatan yang mencurigakan yang terdeteksi oleh HIDS. Posisi dari HIDS dalam suatu jaringan dapat dilihat pada Gambar 2.

 NHIDS

Gambar 2 Peletakkan NIDS dan HIDS dalam Sebuah Jaringan

  • NIPS (Network based IPS)

NIPS yang juga disebut sebagai “In-line proactive protection”, menahan semua trafik jaringan dan menginspeksi kelakuan dan kode yang mencurigakan. Karena menggunakan in-line model, performansi tinggi merupakan sebuah elemen krusial dari perangkat IPS untuk mencegah terjadinya bottleneck pada jaringan. Posisi dari NIPS dalam suatu jaringan dapat dilihat pada Gambar 3.

  • HIPS (Host based IPS)

HIPS bekerja dengan memaksa sekelompok perangkat lunak fundamental untuk berkovensi secara konstan. Hal ini disebut dengan Application Binary Interface (ABI). Hampir tidak mungkin untuk membajak sebuah aplikasi tanpa memodifikasi ABI, karena konvensi ini bersifat universal di antara aplikasi-aplikasi yang dimodifikasi. HIPS merupakan sebuah system pecegahan yang terdiri dari banyak layer, menggunakan packet filtering, inspeksi status dan metode pencegahan intrusi yang bersifat real-time untuk menjaga host berada di bawah keadaan dari efisiensi performansi yang layak. Mekanisme kerjanya yaitu dengan mencegah kode-kode berbahaya yang memasuki host agar tidak dieksekusi tanpa perlu untuk mengecek threat signature. Posisi dari HIPS dalam suatu jaringan dapat dilihat pada Gambar 3.

 NHIPS

Gambar 3 Peletakkan NIPS dan HIPS dalam Sebuah Jaringan

Dari definisi dan klasifikasi IDS dan IPS yang sudah dijabarkan, terdapat perbedaan mendasar antara IDS dan IPS. Perbedaannya adalah IDS tidak berada in-line dalam jaringan, atau dengan kata lain IDS “hanya” memantau jaringan saja dengan cara “terhubung” atau “tap” ke jaringan. Sedangkan IPS berada in-line dalam jaringan. Sehingga ketika terdapat serangan atau akses yang mencurigakan, maka IPS dapat langsung menutup akses tersebut. Perbedaan IDS dan IPS dari peletakannya dalam jaringan ditunjukkan oleh Gambar 4.

perbedaan

Gambar 4 Perbedaan IDS dan IPS Ditinjau dari Peletakannya

Untuk lebih detailnya, perbedaan IDS dan IPS dapat dilihat pada tabel 1.

Tabel 1 Perbedaan IDS dan IPS[2]

tabel perbedaan

Metode Deteksi  

IDPS memiliki  3 metode untuk melakukan deteksi, yaitu signatured-based, anomaly-based, dan stateful protocol analysis. Ketiga metode ini dapat digunakan sekaligus atau sebagain aja.

  • Signatured-Based Detection

Metode ini dilakukan dengan membandingkan signature dari setiap paket untuk mengidentifikasi  kemungkinan adanya intrusi. Metode ini efektif bila IDPS mendeteksi ancaman yang sudah di kenal, tetapi tidak efektif  bila ancamannya baru atau tidak di kenal oleh IDPS. Pengertian dikenal dalam konteks ini adalah sudah pernah terjadi sebelumnya.. Metode ini merupakan metode yang paling sederhana, karena hanya membandingkan paket data, lalu di daftarkan menggunakan operasi perbandingan. Kelemahannya adalah metode ini tidak dapat melacak kejadian yang terjadi pada komunikasi yang  lebih kompleks.

  • Anomaly-Based Detection

Metode ini digunakan dengan membandingkan kegiatan yang sedang di pantau dengan kegiatan yang di anggap normal untuk mendeteksi adanya penyimpangan. Pada metode ini, IDPS memiliki profil yang mewakili perilaku yang normal dari user, host, koneksi jaringan dan aplikasi. Profil tersebut didapat dari hasil pemantauan karakteristik dari suatu kegiatan dalam selang waktu tertentu. Kelebihan dari metode ini adalah efektif dalam mendeteksi ancaman yang belum dikenal, contohnya ketika jaringan diserang oleh tipe intrusi yang baru. Sedangkan kekurangan dari metode ini adalah dalam beberapa kasus, akan sulit untuk mendapatkan deteksi yang akurat dalam komunikasi yang lebih kompleks.

  • Stateful Protocol Analysis

Metode ini sebenarnya menyerupai anomaly-based, yaitu membandingkan profil yang sudah ada dengan kegiatan yang sedang berlangsung untuk mengidentifikasi penyimpangan. Namun, tidak seperti Anomaly-Based Detection yang menggunakan profil host, Stateful Protocol Analysis menggunakan profil yang lebih luas yang dapat merinci bagaimana sebuah protokol yang istimewa dapat digunakan atau tidak. Arti “Stateful” disini adalah sistem di IDPS ini bisa memahami dan melacak situasi pada protokol network, transport dan application. Kelebihan dari metode ini adalah dapat mengidentifikasi rangkaian perintah yang tidak terduga seperti mengeluarkan perintah yang sama berulang – ulang. Sedangkan kekurangannya adalah kemungkinan terjadinya bentrokan antara protokol yang digunakan oleh IDPS dengan protokol umum yang digunakan oleh sistem operasi, atau dengan kata lain sulit membedakan implementasi client dan server pada interaksi protokol.

Komponen

Ada beberapa tipe komponen pada IDPS seperti yang dijelaskan berikut ini:

  • Sensor atau Agent

Berfungsi memantau dan menganalisis kegiatan. Sensor biasanya digunakan IDPS untuk memantau jaringan, termasuk di dalamnya teknologi Network-Based, Wireless, dan Network Behavior Analysis. Sedangkan Agent biasanya diguakan IDPS untuk teknologi Host-Based.

  • Management Server

Management Server adalah perangkat terpusat yang berfungsi menerima informasi dari Sensor atau Agent dan kemudian mengelolanya. Dalam konteks ini terdapat istilah korelasi, yaitu menyamakan informasi yang berasal dari Sensor atau Agent yang bertingkat, seperti menemukan kejadian yang disebabkan oleh IP address yang sama. Management Server tersedia dalam bentuk hardware maupun software.

  • Database Server

Database Server adalah tempat menyimpan informasi yang di catat oleh Sensor, Agent, maupun Management Server.

  • Console

Console adalah program yang menyediakan interface ke user dan administrator IDPS. Beberapa Console digunakan hanya untuk hal administrasi IDPS saja, seperti menkonfigurasi Sensor atau Agent. Namun juga terdapat beberapa Console yang digunakan untuk administrasi maupun memonitor.

Bacaan lebih lanjut:

Network Based IDPS (IDPS Berbasis Jaringan)

Host-Based IDPS(IDPS Berbasis Host)

Referensi:

[1] Karen Scarfone, Peter Mell, Guide to Intrusion Detection and Prevention Systems (IDPS),  Special Publication 800-94, National Institute of Standards and Technology, 2007.

[2] Deris Stiawan, Intrusion Prevention System (IPS) dan Tantangan dalam pengembanganya, Jurusan Sistem Komputer, FASILKOM, Universitas Sriwijaya.

[3] Muhammad Rudyanto Arief, PENGGUNAAN SISTEM IDS (Intrution detection System) UNTUK PENGAMANAN JARINGAN DAN KOMPUTER, AMIKOM

[4] http://sived.wordpress.com/2012/05/12/mengenal-ids-dan-ips-dalam-keamanan-jaringan/

[5] http://www.brighthub.com/computing/smb-security/articles/2759.aspx#imgn_3

[6]http://kepinsinatra.wordpress.com/2013/04/09/intrusion-detection-and-prevention-system/#more-331

M. Erza Aminanto – 23213058 & Gian N. L. – 13209104

Segmentasi dan Segregasi Jaringan

Jika seorang peretas mampu memasuki komputer di salah satu jaringan, besar kemungkinan dia dapat memasuki komputer lain dalam tingkat jaringan yang sama atau bahkan yang lebih tinggi. Celah ini dapat membuat peretas yang berniat jahat lebih mudah dalam melakukan hal-hal yang tidak diinginkan. Segmentasi dan segregasi jaringan adalah upaya mitigasi untuk mengurangi resiko terjadinya hal seperti ini. Upaya ini dapat dilakukan di beberapa layer TCP/IP dengan berbagai cara tergantung dari kebutuhan dan struktur perusahaan.

Secara umum, intrusi dunia maya dilakukan dalam tiga tahap [1], yakni

  1. Pengintaian terhadap sistem yang akan diserang untuk pemilihan target,
  2. Pencarian dan pengaksesan informasi sensitif, serta
  3. Pengkompresan serta pengenkripsian informasi tersebut menggunakan metode pengarsipan seperti RAR/ZIP.

Tahap kedua intrusi tersebut, yakni pencarian dan pengaksesan informasi sensitif umumnya dilakukan penyerang setelah ia mendapat akses legal pada salah satu sistem jaringan milik organisasi yang ingin ia serang. Dari sistem jaringan yang telah ia masuki tersebut, ia akan berpindah-pindah pada sistem jaringan lain hingga menemukan dan mendapatkan akses terhadap informasi sensitif yang ia butuhkan. Salah satu proses mitigasi untuk mengatasi tahap intrusi ini ialah dengan melakukan segmentasi dan segregasi jaringan organisasi tersebut secara keseluruhan.

Segmentasi jaringan ialah proses partisi sistem jaringan secara keseluruhan menjadi sub-sub sistem jaringan. Sementara itu, segregasi jaringan merupakan proses yang mengatur hak komunikasi antar sub sistem jaringan tersebut, serta hak akses atas sebuah perangkat komputasi. Kedua proses ini bekerja saling melengkapi dan memiliki tujuan akhir untuk meminimalisir metode dan level akses terhadap suatu informasi sensitif hanya untuk personiil dan situasi yang membutuhkannya [2], sembari memastikan seluruh operasi lain dapat berjalan tanpa gangguan. Proses segmentasi dan segregasi jaringan ini dapat dilakukan melalui beragam teknik tergantung pada struktur organisasi.

peringkat

Karena keefektifannya, segmentasi dan segregasi jaringan termasuk ke dalam 35 besar (posisi 7) strategi mitigasi terhadap serangan dunia maya, seperti gambar di atas. Segmentasi – segregasi jaringan umumnya dapat mengatasi secara efektif intrusi tahap kedua, namun di sisi lain strategi ini membutuhkan biaya awal dan perawatan yang cukup besar, terutama saat instalasi awal [3]. Kekurangan lainnya ialah strategi ini membutuhkan integrasi dengan strategi lain untuk dapat mendeteksi serangan yang terjadi.

Segmentasi dan segregasi jaringan mencakup jaringan komunikasi secara menyeluruh sehingga pengimplementasiannya dapat dilakukan melalui berbagai teknik. Secara umum, strategi ini dapat mengendalikan dua ranah utama, yakni

osi

  • Kendali jaringan terutama pada layer data link dan network OSI, seperti gambar di atas. Kendali jaringan dapat dilakukan menggunakan switchesvirtual LAN,  enclavedata diode,  firewallrouter, dan lainnya.
  • Kendali data melalui proses file permissioninformation rights management, manajemen konten seperti penggunaan Microsoft SharePoint.

Dalam pelaksanaannya, ada dua pendekatan utama yang umum dilakukan dalam melakukan segmentasi dan segregasi jaringan, yakni

  1. Segmentasi jaringan, sehingga sistem kunci terlindungi dari jaringan organisasi keseluruhan. Pada pendekatan ini, ada beberapa hal yang perlu diperhitungkan, seperti minimalisir akses server yang sensitif hanya pada host dan port yang berkepentingan, pengaplikasian data diode dari jaringan dengan level sensitivitas yanglebih tinggi menuju yang lebih rendah, whitelist layer aplikasi agar hanya konten yang diperlukan yang dapat berpindah antar zona jaringan.
  2. Segregasi layanan yang berrisiko tinggi dari jaringan organisasi keseluruhan. Pendekatan ini umumnya dilakukan apabila sebagian besar sistem jaringan yang terdapat dalam organisasi mengandung informasi sensitif. Pada kondisi ini, segmentasi jaringan ataupun segregasi informasi-informasi sensitif akan menghabiskan biaya besar, sehingga organisasi sebaiknya mencegah intrusi dengan segregasi aplikasi yang memiliki risiko tinggi, seperti web browser dan email. Segregasi aplikasi-aplikasi ini dilakukan pada seluruh jaringan internet di kantor tersebut.

 

SIMULASI

Pada bagian ini akan disimulasikan salah satu teknik segmentasi jaringan

Berikut adalah contoh implementasi network segregation menggunakan firewall. Firewall dipilih karena dapat mudah digunakan untuk simulasi. Peralatan yang digunakan pada simulasi ini adalah :

  1. Laptop Windows 7 (2 buah)
  2. Switch D-Link 8 port (1 buah)
  3. Kabel ethernet (3 buah)

Laptop windows A dan B diibaratkan sebuah jaringan dalam suatu perusahaan. A diibartkan sebagai entitas high-level dan B di entitas lower-level. Sesuai contoh teknik segregasi, A dapat mengakses komputer B, namun B tidak dapat mengakses komputer A. Dalam simulasi ini, pengaksesan yang dimaksud hanya sekedar ping (ICMPv4).

Setelah komputer dihubungkan, IP komputer A adalah 192.168.10.9 dan IP komputer B adalah 192.168.10.31. Sebelum firewall dikonfigurasi, ping antar komputer mendapat reply. Untuk itu, firewall perlu dikonfigurasi terlebih dahulu. Buka menu firewall dengan mengarahkan ke control panel -> system and security -> windows firewall -> advanced settings. Windows seperti ini akan terbuka.

firewall_0

Salah satu definisi penting disini adalah Inbound dan Outbound Rules. Keduanya mengatur tentang konfigurasi firewall terhadap data/koneksi dari luar. Perbedaannya terletak pada arah jalur koneksi. Inbound mengatur tentang jalur koneksi ke dalam komputer pengguna, sedangkan outbound mengatur jalur koneksi ke luar komputer pengguna.

Ketika melakukan ping, komputer mengirimkan pesan ICMP Echo dan mendapat pesan ICMP echo reply sebagai respon. Untuk mem-block ping, firewall harus tidak membolehkan adanya ICMP echo masuk ke sistem. Hal ini dapat diatur pada firewall.

Di simulasi ini, firewall yang dikonfigurasikan adalah firewall A. Jika ingin menonaktikan respon ping dari seluruh komputer lain, cukup mencari “File and Printer Sharing (Echo Request – ICMPv4-In)”, klik kanan, lalu pilih disable rule.

firewall_2

Jika ingin melakukan beberapa pengaturan, seperti blok dari IP/port tertentu, klik kanan di kolom inbound rules, lalu pilih new rule. Kotak seperti ini akan muncul:

firewall_4

Pengguna kemudian dapat melakukan beberapa kustomisasi sendiri untuk port/ip atau hal-hal lain. Hasil pemblokiran adalah sebagai berikut,

  • Ping dari komputer A ke B berhasil

firewall_1

  • Ping dari komputer A ke B gagal

pingA

Perlu diingat bahwa teknik segregasi via firewall dalam simulasi ini tidak cukup baik, karena menggunakan metode blacklist. Menurut teknik segregasi, metode whitelist lebih baik daripada blacklist.

 

INSIDEN

Insiden terkait pernah dilaporkan NSA sebagai bentuk penyerangan tipe ARP [4]. Dalam kasus yang disebutkan NSA tersebut, penyerangan dilakukan melalui 5 tahap seperti pada gambar berikut,

APT-chart1

Tahap ketiga atau lateral movement berhubungan dengan topik artikel ini. Ketika sampai pada tahap ketiha, APT bergeak secara lateral kedalam jaringan. Yang berbahaya adalah ketika akses pertama dari pergerakan lateral berasa dari komputer yang memiliki akses user yang tinggi. Hal ini akan memudahkan pergerakan lateral ke jaringan lain serta memuluskan pergerakan ke tahap selanjutnya.

Untuk mendapatkan akses entry point ini, penyerang menggunakan teknik social engineering. Penyerang pertama-tama mengincar akses credential dari pengguna tingkat tinggi (domain admin/service accounts). Penyerang kemudian melakukan ‘privillege escalation’ kepada non-administrative user dalam sistem yang ditargetkan, kemudian berpindah untuk mendapatkan akses yang target dengan kunci akses yang lebih tinggi, yang meliputi orang IT ataupun non-IT.

Selama tahap ketiga, jika penyerang merasa dirinya belum terdeteksi, dia akan berada dalam mode ‘stealth’ untuk beberapa lama. Jika dia merasa ada resiko terdeteksi, dia akan bergerak lebih cepat dan menyelesaikan tugas pada tingkat ketiga. Tingkat ini adalah fasa paling rumit dalam penyerangan.

Tujuan dari tahap ketiga ini adalah untuk mendapat akses ke poin kunci agregasi atau server sebanyak mungkin. Untuk itu, mitigasi dengan teknik segmentasi dan segregasi sangat penting dilakukan agar kasus seperti ini tidak terulang atau minimal mempersulit penyerangan.

 

REFERENSI

  1. Directorate, A. S., 2012. Network Segmentation and Segregation. [Online] Available at: www.asd.gov.au/publications/csocprotect/network_segmentation_segregation.htm [Diakses 28 10 2013].
  2. Directorate, A. S., 2012. Strategies to Mitigate Targeted Cyber Intrusions. [Online] Available at: http://www.asd.gov.au/infosec/top-mitigations/top35mitigationstrategies-list.htm [Diakses 28 10 2013].
  3. Directorate, A. S., 2012. Strategies to Mitigate Targeted Cyber Intrusions – Mitigation Details. [Online] Available at: www.asd.gov.au/infosec/top-mitigations/top35mitigation-details.htm [Diakses 28 10 2013].
  4. RSA, 2013. Anatomy of an Attack. [Online] Available at: https://blogs.rsa.com/anatomy-of-an-attack/  [Diakses 28 10 2013].

 

Alan Yudhahutama / 23213028

Galih Gilang Wicaksono / 23213098

The keys to the keydom

http://bit-player.org/2013/the-keys-to-the-keydom

 

Your security and privacy on the Internet (to the extent that such quaint notions still have meaning) depend on the difficulty of factoring certain large numbers. For example, take this 1,024-bit integer:

X = 123784517654557044204572030015647643260197571566202790882488143432336664289
53013160757127360381500856200680250007894557646372684708763884626821078230649
285613963510276802208436872101227718450860737080502115462982139570265498874808
3875440199841915223400907734192655713097895866822706517949507993107455319103401

The number printed above in squinty type is the product of two 512-bit prime factors. If you set out to find those factors, the project might well keep you busy for many megayears. But I can make the job much easier by giving you a second number of the same size:

Y = 139752806258570179719657334941265463008205415047073349942370461270597321020
717639292879992151626413610247750429267916230424010955054750502833517070395986
2897242371124108160005581486237854115688455171463034213840635250918248983182261
75234193815950597041627518140906384889218054867887058429444934835873139133193

Factoring both X and Y would appear to be twice as much work, but in fact you can do it lickety-split. On my laptop it took roughly 200 microseconds. From millions of years to millionths of a second—that’s quite a speedup!

There’s a trick, of course. Both X and Y are products of two large primes, but it so happens that one of the primes is a shared factor of both numbers. For finding that shared factor, we can rely on a very old, very famous, very simple and very efficient algorithm: Euclid’s algorithm for the greatest common divisor. In Python it looks like this:

1
2
3
4
5
def gcd(a, b):
    if b == 0:
        return a
    else:
        return gcd(b, a % b)

(The ‘%’ in line 5 is Python’s modulo or remainder operator.) When this function is applied to X and Y, the recursion is invoked 297 times before returning the common factor:

F = 1070467931937606706425630145948715022696962191248959648262850980092208031819
9635726117009340189103336170841315900354200725312700639146605265442630619090531

You don’t have to take my word for it that F divides both X and Y. Do the division: In that way you will also learn the co-factors of X and Y.

If X and Y were components of public keys in the RSA cryptosystem, their shared factor would create a huge hole in the security fence. And the problem is particularly insidious in that each of the two keys, when examined in isolation, looks perfectly sound; the weakness only becomes apparent when you have both members of the pair.

This potential vulnerability of factoring-based encryption methods has been known for decades, but it seemed there was no reason to worry because coincidentally shared factors are so utterly unlikely. A couple of weeks ago I heard an eye-opening talk by Nadia Heninger, a member of a group that has searched for such unlikely coincidences in the wild. They found 64,000 of them. Reason to worry.


Heninger and her colleagues polled every public IPv4 address in the known universe, requesting a connection on the ports commonly used for two secure communication protocols, TLS and SSH. For every address that responded to queries on those ports, they collected the server’s public encryption key, then closed the connection. Here I am going to discuss only the TLS servers with RSA keys; there were vulnerabilities in other cryptosystems as well, but the issues are slightly different.

Before telling the rest of this story, I have to pause here. For those of you in the born-digital generation, pinging every address on the Internet may sound like a routine walk around the block on a sunny afternoon, but I confess that I never would have dared to try anything so audacious. It’s like knocking on every door in America, or calling every possible telephone number—a task that’s not feasible for individuals of ordinary means, and that also seems unforgiveably rude. But standards of feasibility and rudeness are different in the world of machine-to-machine communication. Computers don’t care if you make four billion hangup calls (although some system administrators might frown on the practice). And, after all, the encryption keys being collected are by definition public.

Back to Heninger’s story. They ran their scan of IP addresses from Amazon’s Elastic Compute Cloud service, where the data-collection phase of the project took a few days. Out of 232≈4 billion addresses (less a few special-purpose or reserved areas) they found about 29 million servers accepting connections on the standard port for TLS, but only 12.8 million of those servers supplied public keys. Some 60 percent of the keys retrieved were not unique. Presumably, most of the duplicates are accounted for by organizations that have multiple servers all operating with the same cryptographic credentials, but there were also instances of apparently unaffiliated individuals sharing a key. This is rather like discovering that your house key also opens your neighbor’s front door. (And vice versa.)

After eliminating the duplicates, some 5.8 million distinct RSA keys needed to be tested for common factors. Even though Euclid’s GCD algorithm is highly efficient, running it on all possible pairings of keys would be a strain. There’s an ingenious shortcut, based on the observation that if Y is relatively prime to each of X1,X2,…,Xn, then it also has no factor in common with the product X1×X2×⋯×Xn. Thus it’s possible to detect the presence of shared factors with just n GCD operations, instead of n2. A drawback of this approach is that the product of millions of RSA keys is a huge number, and intermediate results have to be swapped out to disk. Nevertheless, the processing was completed in an hour and a half on the Amazon cloud at a cost of $5.

The output was a list of 64,081 compromised keys for TLS hosts, about 0.5 percent of all such keys collected. For obvious reasons, Heninger et al. are not publishing that list; they tried to contact the owners of vulnerable machines, and they offer a web lookup service where you can check to see if your key is on the list.

The good news is that none of the weak keys are guarding access to major web servers hosting bank accounts or medical records or stock markets or military installations. Most of them are found in embedded networked devices, such as routers and firewalls. That’s also the bad news. A programmer with malicious intent who can gain control of a well-placed router can make a lot of mischief.


Could the prevalence of common factors in RSA keys be explained as a product of pure bad luck? To answer this question we need to solve a birthday problem. The original version of this problem asks how many people you need to bring together before there’s a good chance that two or more of them will have the same birthday (assuming birthdays are distributed randomly over the 365 days of the year). An order-of-magnitude approximation is 365−−−√, or about 19. (The actual number is 23.) For the RSA variant of the problem, we ask how many 512-bit primes you need to generate—assuming you select them uniformly at random from the set of all such primes—before you have a good chance of seeing at least one prime twice. In this case we replace 365 with the number of 512-bit primes, which is in the neighborhood of 10150. Thus there’s scarcely any chance of a collision until the number of randomly generated primes approaches 1075. We’re only at 107 so far. As Heninger said in her talk, we have enough 512-bit primes to assign a public encryption key to every atom in the universe, with little worry over possible duplicates.

According to this line of reasoning, it would be a colossal fluke to see even one duplicated RSA prime, and finding 64,000 of them is clear evidence that those primes are not being chosen uniformly at random. The blame apparently lies with pseudorandom number generators. It’s not that the algorithms are defective. In many cases, cryptographic keys are being generated immediately after a machine is booted, when it just can’t scrape together enough entropy to make a passable pseudorandom number.


Sources:

Heninger gave her talk at a birthday-party for Microsoft Research New England on October 9. Eventually, video may be available.

The paper describing the project is “Mining Your Ps and Qs: Detection of Widespread Weak Keys in Network Devices,” by Nadia Heninger, Zakir Durumeric, Eric Wustrow, and J. Alex Halderman, presented at the 2012 USENIX Security Symposium. Preprint.

At the Microsoft symposium Heninger also discussed at later study of other cryptographic weaknesses in certain smart cards. See “Factoring RSA keys from certified smart cards: Coppersmith in the wild,” by Daniel J. Bernstein, Yun-An Chang, Chen-Mou Cheng, Li-Ping Chou, Nadia Heninger, Tanja Lange, and Nicko van Someren. Preprint.

Arjen Lenstra and his colleagues have independently discovered and reported similar vulnerabilities. See “Ron was wrong, Whit is right,” by Arjen K. Lenstra, James P. Hughes, Maxime Augier, Joppe W. Bos, Thorsten Kleinjung, and Christophe Wachter. Preprint.

Open-source software developed by Zakir Durumeric, Eric Wustrow, and J. Alex Halderman at the University of Michigan for scanning large blocks of the public IP address space: ZMap. A descriptive paper from the 2013 USENIX Security Symposium.

The Michigan group’s web service for checking public keys against the collection of known factorable keys: factorable.net.

 

 

Test Artikel Keamanan Informasi

Diambil dari https://id.wikipedia.org/wiki/Keamanan_informasi

Aspek keamanan informasi adalah aspek-aspek yang dilingkupi dan melingkupi keamanan informasi dalam sebuah sistem informasi. Aspek-aspek ini adalah :

  • privasi/kerahasiaan, menjaga kerahasiaan informasi dari semua pihak, kecuali yang memiliki kewenangan;
  • integritas, meyakinkan bahwa data tidak mengalami perubahan oleh yang tidak berhak atau oleh suatu hal lain yang tidak diketahui (misalnya buruknya transmisi data);
  • otentikasi/identifikasi, pengecekan terhadap identitas suatu entitas, bisa berupa orang, kartu kredit atau mesin;
  • tanda tangan, mengesahkan suatu informasi menjadi satu kesatuan di bawah suatu otoritas;
  • otorisasi, pemberian hak/kewenangan kepada entitas lain di dalam sistem;
  • validasi, pengecekan keabsahan suatu otorisasi;
  • kontrol akses, pembatasan akses terhadap entitas di dalam sistem;
  • sertifikasi, pengesahan/pemberian kuasa suatu informasi kepada entitas yang tepercaya;
  • pencatatan waktu, mencatat waktu pembuatan atau keberadaan suatu informasi di dalam sistem;
  • persaksian, memverifikasi pembuatan dan keberadaan suatu informasi di dalam sistem bukan oleh pembuatnya
  • tanda terima, pemberitahuan bahwa informasi telah diterima;
  • konfirmasi, pemberitahuan bahwa suatu layanan informasi telah tersedia;
  • kepemilikan, menyediakan suatu entitas dengan sah untuk menggunakan atau mengirimkan kepada pihak lain;
  • anonimitas, menyamarkan identitas dari entitas terkait dalam suatu proses transaksi;
  • nirpenyangkalan, mencegah penyangkalan dari suatu entitas atas kesepakatan atau perbuatan yang sudah dibuat;
  • penarikan, penarikan kembali suatu sertifikat atau otoritas.