Author Archive

Google Buzz Hadir Hari Ini

Thursday, February 11th, 2010

Setelah Chrome OS, kini muncul Google Buzz. Google Buzz adalah sebuah layanan baru dari google. Buzz adalah sebuah cara baru untuk berbagi update atau status layaknya facebook atau juga twitter. Selain itu, dengan Buzz kita juga bisa berbagi foto, video, serta bisa juga berbincang – bincang mengenai hal – hal yang menarik dengan anggota Buzz yang lain. Kita bisa ‘follow’ anggota lain dan saling berbagi komentar dengan yang lain seperti twitter.

Google Buzz tidak membutuhkan setup tersendiri, namun menjadi bagian dari fitur GMail yang selama ini sudah kita pakai. Soo.. mari kita coba layanan baru Google ini.

Nyobain Google Chrome for Linux

Wednesday, February 10th, 2010

Iseng – inseng browsing chrome, eh ternyata muncul chrome for linux walau masih dalam tahab beta. Ga pake lama, langsung nyobain dan secara performa kecepatan aplikasi jauh banget bedanya dibanding browser lainnya. Mantaphhh. Saat ini untuk platform Linux ada beberapa yang sudah disupport antara lain Debian, Ubuntu, Fedora, openSUSE. Paket yang tersedia ada yang berbentuk deb (Debian Packet) atau juga berbentuk rpm (RedHat Packet). Selain itu juga sudah tersedia untuk 32 bit dan 64 bit. Yang pengen nyobain download bisa didownload di sini

Makin banyak ajah nih segmen yang dijelajahi oleh oom Google ini, selanjutnya mungkin nungguin Buzz. Makin maju deh buat Google!!

A brief overview of Firewalls

Tuesday, February 2nd, 2010

Sudah beberapa artikel tentang firewall saya tulis di sini, sepertinya kurang lengkap kalau belum dijelaskan sendiri mengenai firewall itu sendiri. Menurut Wikipedia, firewall didefinisikan sebagai berikut:

sebuah sistem atau perangkat yang mengizinkan lalu lintas jaringan yang dianggap aman untuk melaluinya dan mencegah lalu lintas jaringan yang tidak aman

Firewall sendiri utamanya digunakan untuk mengontrol akses atau lalu lintas jaringan antara segmen jaringan satu dengan yang lainnya. Contoh fungsi dari firewall adalah mengontrol akses dari jaringan eksternal (public network) ke jaringan internal (private network), atau juga bisa untuk membatasi akses antara jaringan internal dari dua divisi dimana informasi tidak boleh keluar dari masing – masing divisi tersebut. Beberapa fungsi dasar lain dari firewall antara lain : mengatur dan mengontrol lalu lintas jaringan, melakukan autentikasi terhadap akses, melindungi sumber daya dalam jaringan private, mencatat lalu lintas trafik dan kejadiannya.

Ada tiga jenis mendasar dari Firewall yang banyak digunakan saat ini:

* Packet Filtering
* Application Gateway Proxy
* Stateful Inspection

Packet Filtering Firewall memeriksa setiap paket yang melalui Firewall tersebut hingga layer Network (layer 3). Artinya bahwa Firewall ini tidak memeriksa data yang ada di layer atasnya (layer Application, Presentation, Session, and Transport). Packet Filtering Firewall melihat dan menentukan apa yang harus dilakukan terhadap paket tersebut sesuai dengan rule yang sudah ditentukan.  Jenis Firewall ini sangan populer karena sangat murah, transparan terhadap aplikasi, dan lebih cepat performanya daripada Firewall jenis  Application Layer Gateway. Namus sebagai trade-off nya, jenis ini hanya menyediakan keamanan tingkat rendah, sedikit lebih sulit dikonfigurasi, dan tidak memiliki kemampuan mendeteksi IP Spoofing. Jenis Firewall ini biasanya ditemui di perangkat router.

Application Layer Gateway, atau lebih sering dikenal sebagai Proxy Firewall, berfungsi pada layer Application. Tantangan yang dihadapi jenis Firewall ini adalah pertumbuhan jenis aplikasi yang memperkenalkan jenis – jenis layanan dan protokol baru. Sehingga jenis Firewall ini akan kesulitan untuk menangani hal tersebut diatas. Proxy Firewalls masih termasuk populer hingga saat ini karena menawarkan level sekuriti yang lumayan bagus, dan relatif murah. Namun, masing – masing layanan membutuhkan masing – masing application layer gateway yang berarti skalabilitasnya sangat besar. Penggunaan jenis ini sangat berpengaruh pada performansi dan juga memiliki kelemahan, bugs, atau exploit di level aplikasi dan operating system.

Stateful Inspection adalah jenis ketiga dari Firewall yang banyak digunakan saat ini. Stateful Packet Inspection (SPI) mengambil, menyimpan, dan memanipulasi informasi menyangkut semua layer komunikasi dan aplikasi. Jenis ini adalah yang paling kompleks, karena melakukan inspeksi mulai dari layer Network hingga layer Aplikasi. Firewall jenis ini mampu menjaga alur jejak langkah perjalanan setiap koneksi aktif, sehingga hacker akan kesulitan untuk menyisipkan paket data dari koneksi yang sudah terbentuk.

Firewall: DROP vs REJECT

Monday, January 11th, 2010

Many people advocate configuring packet filters with a mostly-closed policies that drop packets that they do not know to be safe. This leads to problems for users that are hard for them to diagnose while offering no additional security.

When a packet reaches the firewall, it is run against a set of rules. These rules may rely on existing state (eg. to match existing or related connections) or be stateless (eg. to match destination port 80). The rules determine an action to take for the packet, which can be one of:
:: ALLOW (aka ACCEPT)
Pemit a packet to traverse the firewall. This would be the behaviour if the firewall was not present.
:: REJECT
Prohibit a packet from passing. Send an ICMP destination-unreachable back to the source host [unless the icmp would not normally be permitted, eg. if it is to/from the broadcast address].
:: DROP (aka DENY, BLACKHOLE)
Prohibit a packet from passing. Send no response.

In the rules there is a choice of whether to REJECT or to DROP unwanted packets. When analysing this choice, we must consider negative and positive features for legitimate and illegitimate applications. The big difference between REJECT and DROP is that REJECT results in an ICMP error being returned.

Let’s consider the user first: Legitimate users
By REJECTing unknown packets, TCP aborts the connection and the application gets to know that the connection has failed after just one round-trip time. This allows the application attempting the connection to notify the user straight away. DROPping the packet will just cause TCP to retry the connection until the threshold for retranmission is exceeded. This should be at least 100 seconds. An experiment on Linux gives 0.01 seconds for a REJECT to give an application error from a TCP connection, but 189 seconds for DROP.

Now let’s consider hostile forces: Hostile users
A common reason for using DROP rather than REJECT is to avoid giving away information about which ports are open, however, discarding packets gives away exactly as much information as the rejection. With REJECT, you do your scan and categorise the results into “connection established” and “connection rejected”. With DROP, you categorise the results into “connection established” and “connection timed out”.

The most trivial scanner will use the operating system “connect” call and will wait until one connection attempt is completed before starting on the next. This type of scanner will be slowed down considerably by dropping packets. However, if the attack sets a timeout of 5 seconds per connection attempt, it is possible to scan every reserved port (1..1023) on a machine in just 1.5 hours. Scans are always automated, and an attacker doesn’t care that the result isn’t immediate.

A more sophisticated scanner will send packets itself rather than relying on the operating system’s TCP implementation. Such scanners are fast, efficient and indifferent to the choice of REJECT or DROP.

Hiding information about which ports are active requires making the server response indentical whether or not it offers a particular service. This is techically very difficult, and in some cases will be more error prone than actually providing the service!

Realistically, you could probably get away with accepting the connection for unknown ports, blackholing the data, then closing the connection after a timeout. However, that will cause problems with legitimate users if their application makes a connection to one of these ports.

Summary

REJECT DROP
Application connects to non-existent service Failure reported promptly to the user Applications pause for ages, then fail
Naïve network scanning with OS “connect” Scans are quick Scans are okay, provided that a timeout is set
Network scanning with a specialist program (eg. nmap) Scans are quick Scans are quick

Conclusion
DROP offers no effective barrier to hostile forces but can dramatically slow down applications run by legitimate users. DROP should not normally be used.

Shorewall Installation

Wednesday, January 6th, 2010

Hei all, continuing from last post about Shorewall now I’ll try to tell you all about how to install it. This installation consist of 2 installation, the first is Shorewall it self. Then the second is Webmin (Web GUI) for easily configuration purpose. In this case, I used Ubuntu Linux 9.10 Operating System. Before start the installation, you must set your apt source list to be enable connect to valid Ubuntu repository.

First step is you should go to your console terminal, then change to super user privileges.

meteor@galaxy:~$ sudo bash
[sudo] password for meteor:
root@galaxy:~#

Then run this command “apt-get install shorewall-common shorewall-shell” from your terminal, and please wait until all process finished

 root@galaxy:~# apt-get install shorewall-common shorewall-shell
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
shorewall-doc
The following NEW packages will be installed:
shorewall-common shorewall-shell
0 upgraded, 2 newly installed, 0 to remove and 181 not upgraded.
Need to get 221kB/307kB of archives.
After this operation, 1.610kB of additional disk space will be used.
Get:1 http://kambing.ui.ac.id karmic/main shorewall-common 4.2.10-1 [221kB]
Fetched 221kB in 5s (40,6kB/s)
Prakonfigurasi paket ...
Memilih paket shorewall-common yang sebelumnya tidak dipilih.
(Sedang membaca basis data ...130042 berkas dan direktori telah terpasang.)
Sedang membuka paket shorewall-common (dari .../shorewall-common_4.2.10-1_all.deb) ...
Memilih paket shorewall-shell yang sebelumnya tidak dipilih.
Sedang membuka paket shorewall-shell (dari .../shorewall-shell_4.2.10-1_all.deb) ...
Processing triggers for sreadahead ...
Processing triggers for man-db ...
Sedang menyetel shorewall-common (4.2.10-1) ...

Sedang menyetel shorewall-shell (4.2.10-1) ...
root@galaxy:~#

Until this condition you’ve successfully install Shorewall on your machine. And now let’s install the Webmin as Configuration GUI tools. You should download its installer packet from Webmin official site and choose the suitable package with your system. In this case I use package that suitable for Ubuntu. After you download that file, just double-click that file and the installer is automatic run. Images below is screenshot the installation process.

#1 – Package Installer that already downloaded

#2 – Installation Confirmation

#3 – Administrative Grant Rights to Install Software

#4 – Installation on progress 1

#5 – Installation on progress 2 (Terminal view expanded)

#6 – Installation finished

After finish that process, you can test Webmin installation by opening it from your browser (ie, firefox) using this address https://localhost:10000/ If it’s installed properly, this screen below should displayed like this.

After that all installation process steps already done, and you can configure your Shorewall from this Webmin GUI to meet your requirements.

Note: login using your local username and password.

Kriptografi Simetris pada Smart Card

Monday, January 4th, 2010

Keuntungan penggunaan Smart Card dengan kemampuan pemrosesan yang dimilikinya adalah adanya kesempatan untuk mengimplementasikan mekanisme kriptografi (baik kunci maupun algoritma kriptografi) dalam Smart Card. Sehingga chip pada Smart Card dapat dipertimbangkan sebagai modul yang tahan terhadap serangan. Ada banyak algoritma kriptografi yang telah dikembangankan saat ini, namun yang banyak digunakan untuk kriptografi pengamanan di Smart Card adalah DES, Triple DES, AES, dan RSA. DES, Triple DES, AES adalah algoritma kriptografi dengan kunci simetris, sedangkan RSA adalah algoritma kriptografi dengan kunci asimetris. Perbedaan antara simetris dan asimetris terletak pada kunci yang digunakan untuk proses enkripsi dan dekripsi. Pada algoritma kriptografi simetris, kunci yang digunakan untuk enkripsi dan dekripsi adalah sama, sedangkan pada algoritma kriptografi asimetris, kunci yang digunakan untuk enkripsi berbeda dengan kunci yang digunakan untuk dekripsi. Masing – masing akan dibahas di tulisan ini.

Yang akan kita bahas kali ini adalah kriptografi dengan kunci simetris, sedangkan untuk kriptografi dengan kunci asimetris akan kita bahas pada artikel yang lain. Mekanisme yang paling sederhana adalah penggunaan kunci umum dimana kunci umum ini sudah dibangun sebelumnya dan diketahui oleh kedua belah pihak, dalam hal ini adalah Smart Card dan Terminal. Untuk memastikan valid atau tidaknya Smart Card, terminal akan mengirimkan random number ke Smart Card. Smart Card akan mengembalikan random number tersebut dengan kondisi sudah terenkripsi oleh algoritma tertentu (yang disepakati oleh Smart Card dan Terminal) menggunakan kunci umum. Ketika diterima oleh terminal, informasi tersebut akan didekripsi menggunakan algoritma dan kunci umum yang sama (seperti yang digunakan saat mengenkripsi). Jika hasil yang didapat sama, maka Smart Card tersebut adalah valid. Namun, kelemahan dari mekanisme ini adalah jika terjadi serangan terhadap salah satu dari Smart Card atau terminal maka kunci umum akan bisa diketahui. Ilustrasi mekanisme tersebut bisa dilihat pada gambar dibawah ini.

Selanjutnya perbaikan dari mekanisme tersebut diatas adalah dengan menggunakan kumpulan kunci yang tersimpan di di terminal untuk mendapatkan tingkat keamanan yang terpisah. Pada kondisi diatas, jika terjadi serangan pada Smart Card, maka yang akan terbuka hanyalah kunci yang ada di Smart Card saja. Namun jika terjadi serangan pada terminal, maka semua kunci akan bisa terbuka. Sehingga terminal menjadi point vital yang harus mampu menjaga kunci dengan baik. Mekanisme tersebut diilustrasikan pada gambar di bawah ini.

Mekanisme yang lain yang dianggap memiliki tingkat keamanan lebih tinggi adalah dengan menggunakan kunci utama yang tersimpan di terminal. Sedangkan kunci yang tersimpan di Smart Card adalah kunci – kunci turunan (derrived) yang diturunkan dari kunci utama. Kali ini Terminal juga menjadi bagian vital dalam management key, namun walaupun begitu, masing – masing Smart Card masih memiliki kunci turunan yang unik sehingga kegagalan pada 1 Smart Card tidak berarti kegagalan pada semua Smart Card. Sebagai tambahan, ID Smart Card digunakan untuk mendapatkan nilai kunci turunan di masing – masing Smart Card.

Smart Card

Thursday, December 31st, 2009

Smart Card adalah kartu berbahan plastik atau sejenisnya dengan mikroprosesor yang ditanamkan pada kartu dan media penyimpanan yang besar untuk menyimpan program yang telah disediakan oleh perusahaan penerbit kartu tersebut. Struktur dari smart card telah dispesifikkan oleh standar internasional (ISO 7816) yaitu, kartu plastik ini harus memiliki dimensi 85,60mm x 53,98mm x 0,76mm, yang merupakan panjang, lebar, dan tebal dari kartu tersebut, selain itu kartu ini juga harus mampu menahan sejumlah tekanan udara tanpa mengalami kerusakan secara langsung. Sebuah printed circuit dan sebuah integrated circuit chip (microcontroller) ditanamkan pada kartu. Karena printed circuit dan integrated circuit ini tidak dapat mengatasi tekanan udara dengan baik maka chip yang dibuat haruslah memiliki ukuran yang sangat kecil. Printed circuit merupakan lempengan emas tipis yang menyediakan hubungan arus listrik dengan lingkungan luar dan juga melindungi chip dari tekanan yang bersifat mekanik dan melindungi dari listrik statis.

Smart card menyediakan keamanan yang lebih tinggi dibanding kartu magnetic stripe untuk berbagai penerapan. Kegunaan dari smart card didasarkan pada mobilitas dan keamanannya. Sama seperti kartu kredit kebanyakan, ketika printed circuit (lempengan emas) dimasukkan ke dalam card reader, lempengan ini akan menyediakan energi listrik untuk microprocessor yang terletak di dalam smart card, yang pada akhirnya smart card dapat menyimpan dan memproses informasi dengan menggunakan kunci kriptografi dan algoritma yang digunakan untuk melakukan enkripsi tertentu.

Smart card awalnya ditemukan pada tahun 1974 di Prancis, namun baru booming pada tahun 1998. Saat ini ada 2 jenis smart card yaitu Contact dan Contactless Smart Card. Hingga saat ini yang paling banyak digunakan adalah Contact Smart Card yang ada di SIM Card (Subscriber Identity Module – banyak digunakan pengguna telepon seluler).

Kegunaan mendasar dari dari Smart Card ini adalah sebagai media penyimpanan portable dan sebagai media penerima data, oleh sebab itu komponen pokok dari Smart Card adalah memory antara lain ROM = Read only memory (mask ROM), PROM = Programmable read only memory, EPROM = Erasable programmable ROM, EEPROM = Electrically erasable PROM, RAM = Random access memory. Kesemua memory tersebut diatas, kecuali RAM, bersifat non-volatile (data tidak hilang ketika daya dimatikan). Nah, sesuatu yang menjadikan Smart Card ini ‘SMART’ adalah adanya processor yang mampu melakukan proses terhadap data atau informasi yang diterima. Selain itu, dalam Smart Card juga terdapat Logika Keamanan (security logic) yang menjaga atau mengontrol akses ke memory sehingga memperkecil resiko penyalahgunaan memory oleh orang yang tidak berkepentingan.

bersambung…

TIP for EMV – Workshop

Monday, December 21st, 2009

Yesterday, I’ve joined a two days workshop in lembang. The workshop explain about TIP process, start from requirement, check list, until compliance test. The Key Person is Peter Farren, a man from MasterCard. For two day he gave us a lot information about TIP for EMV Certification.

What is TIP here means for?? Yes, TIP stand for Terminal Integration Process. This process needed by the financial institution that accomodate card payment system like credit card or debit card using EMV standard. The Terminal Integration Process is a key testing process designed to test the terminal, intermediate connections, and the interface with the acquirer host system, in conditions that are as close as possible to its final environmental use.

The objectives of the Terminal Integration Process are to:

  • Ensure that your terminal meets MasterCard brand requirements (M/Chip Requirements)
  • Ensure that your terminal and in particular its EMVCo approved kernel and/or PayPass application(s), meets your business needs.
  • Test your terminal’s capabilities in terms of interoperability, and detect
    issues at an early stage, thus saving you both time and money

You need to do the TIP when any of the following happens:

  • A new terminal is selected for deployment
  • If an approved version of the terminal application is modified, please inform the TIP Team. The TIP Team will advise on whether a TIP or some regression tests must be performed based on the reported modifications

Before we doing this process, we should send our requirement to the MasterCard in order to get specific test case. Then, received test case should passed by us as part for EMV terminal and server certification. After our terminal and server certified, thats the time to implements this system to the real world.

Pulang

Tuesday, December 1st, 2009

eMaak…. Bapaaaak…. aku pengen pulang.

Shorewall – Shoreline Firewall

Saturday, November 28th, 2009

Last week, i’ve tried to install a software based firewall on Ubuntu. It used to simulated network segmentation for access and security. For this security simulation test, I’ve chosed a software based firewall called Shorewall and use virtual workstation using VirtualBox. Shorewall was installed on my laptop as VirtualBox host PC. And for client and server, I used 2 virtual Windows XP Operating System.

The Shoreline Firewall, more commonly known as “Shorewall”, is high-level tool for configuring Netfilter (the packet filter facility builtinto the 2.4 and later Linux kernels). You describe your firewall/gateway requirements using entries in a set of configuration files. Shorewall reads those configuration files and with the help of the iptables, iptables-restore, ip and tc utilities, Shorewall configures Netfilter and the Linux networking subsystem to match your requirements. Shorewall can be used on a dedicated firewall system, a multi-function gateway/router/server or on a standalone GNU/Linux system. Shorewall does not use Netfilter’s ipchains compatibility mode and can thus take advantage of Netfilter’s connection state tracking capabilities.

Shorewall use zone concept firewall, it’s means that shorewall views the network where it is running as being composed of a set of zones. Shorewall has a default policy that all defined rules should based on it. That default policy ruled out all of zone that defined before. All other main feature that included on Shorewall is:

  • Uses Netfilter’s connection tracking facilities for stateful packet filtering.
  • Can be used in a wide range of router/firewall/gateway applications.
  • Supports centralized firewall administration
  • Flexible address management/routing support
  • and much more as listed on the official site

And maybe i’ll post my test result for this Shorewall Configuration that separate 2 network segment. cekidot aja yah… :D