Salah satu hal yang ditakutkan oleh sejumlah orang, khususnya para pengusaha adalah cyber attack yang dapat menyerang sistem mereka. Cyber attack adalah sebuah bentuk penyerangan yang menargetkan sistem pada komputer dengan tujuan untuk mengakses data pada sebuah sistem. Perusahaan pastinya akan mengalami kerugian yang besar apabila datanya diretas oleh pihak yang tidak bertanggung jawab. Maka, perlu sebuah solusi untuk mengatasi permasalahan tersebut agar tidak selamanya perusahaan mengalami kerugian. Sehingga, ditemukan sebuah solusi yaitu, melakukan reverse engineering pada software mereka. Reverse engineering adalah sebuah proses untuk melihat kembali sebuah program secara seksama dan detail. Proses ini seringkali dilakukan oleh pihak ketiga yang tidak terjun langsung untuk membuat code.

Reverse engineering dilakukan untuk menganalisis dan mendapatkan pengetahuan tentang cara kerja sesuatu. Namun, juga sering digunakan untuk melihat kelemahan sebuah program ataupun bug yang terjadi, dan menemukan sistem yang rentan untuk diserang. Serta, menganalisis sebuah sistem pemulihan yang selanjutnya dapat digunakan untuk melindungi dari penyerangan.

Cara Kerja Reverse Engineering

reverse-engineering
Photo by searchsoftwarequality.techtarget.com/definition/reverse-engineering

Terdapat tiga tahap untuk melakukan reverse rReverse engineering adalah sebuah proses yang memiliki cara kerja, terdapat tiga tahap untuk melakukan reverse engineering, yaitu:

1. Information Extraction

Objek yang akan dilakukan reverse engineering akan dipelajari ulang desain sistem nya seperti bagaimana informasi di extract dari sistem. Nantinya informasi yang didapat akan digunakan untuk menentukan bagaimana kecocokan antara setiap sistem. Dalam reverse engineering di software, proses ini mungkin saja memerlukan pengumpulan source code dan dokumen mengenai desain sistem untuk dipelajari lebih lanjut. Implementasi proses ini bisa saja melibatkan penggunaan alat seperti disassembler untuk membagi program menjadi beberapa bagian kecil.

2. Modelling

Setelah pada tahap sebelumnya informasi dikumpulkan, pada tahap ini semua informasi yang telah dikumpulkan akan diubah ke dalam bentuk model konseptual. Masing masing bagian dari model akan menjelaskan fungsi dari sistem. Tujuan proses ini dilakukan adalah untuk mengambil informasi yang spesifik dari sistem asli lalu diubah ke dalam model umum. Nantinya model tersebut  dapat digunakan untuk membuat sistem baru atau kegunaan lain yang berhubungan dengan keamanan sistem. Pada reverse engineering di software, proses ini memberikan output berbentuk data flow diagram.

3. Review

Pada proses ini akan dilakukan peninjauan kembali terhadap model yang telah dibuat serta mengujinya dengan berbagai skenario untuk memastikan model yang dibuat telah sesuai dengan sistem asli. Nantinya setelah model diuji dengan skenario dan memberikan hasil yang baik, maka model dapat diimplementasikan untuk menggantikan sistem asli yang telah ada.

Dengan melakukan ketiga proses tersebut, maka reverse engineering bisa dilakukan pada sistem yang ingin diuji sehingga meningkatkan keamanan dan juga kinerja dari sistem.

Contoh Reverse Engineering

Reverse engineering adalah sebuah proses yang memiliki banyak variasi tergantung pada apa yang diterapkan dan tujuan penggunaan dari reverse engineering itu sendiri, berikut beberapa contoh implementasi dari reverse engineering:

1. Software

reverse-engineering
Photo by apriorit.com/dev-blog

Terdapat beberapa contoh dimana reverse engineering digunakan untuk membongkar software yang telah dibuat. Contoh umumnya adalah dengan mereka ulang sebuah source code yang telah hilang dan mempelajari bagaimana program melakukan sebuah proses tertentu. Namun juga bisa digunakan untuk  meningkatkan kinerja serta memperbaiki bug yang ada. Salah satu area lain dimana reverse engineering digunakan pada software adalah apabila ditemukannya malware atau dikenal dengan malicious software. Malware adalah software berbahaya yang dibuat untuk melakukan aksi kriminal. Pelaku seringkali membuat blur code mereka untuk menjaga agar kode berbahaya yang dibuat oleh mereka tidak ditemukan oleh pemilik software. Pemilik software yang terinfeksi malware dapat melakukan reverse engineering untuk mengidentifikasi virus virus yang ada pada perangkat. Terdapat fakta menarik dimana badan intelijen pertahanan US mengatakan bahwa mereka bermaksud untuk menggunakan teknik reverse engineering pada sistem keamanan mereka. Teknik tersebut digunakan untuk merekayasa balik malware yang diberikan oleh musuh untuk membuat senjata cyber mereka sendiri.

2. Computer Parts

reverse-engineering
Photo by engineeredmechanicalsystems.com/how-detailed-are-reverse-engineered-parts

Reverse engineering juga dapat dilakukan pada bagian bagian hardware komputer. Salah satu contoh untuk mengimplementasikannya adalah dengan merekayasa balik sebuah prosesor yang dibeli dan kemudian menggunakan apa yang dipelajari untuk membuat prosesor sendiri. Cara ini sering dilakukan oleh banyak produsen, namun proses ini ilegal di banyak negara karena membutuhkan banyak keahlian, mahal dan juga terkesan menjiplak produk kompetitor. Namun, ada juga implementasi dari reverse engineering di computer part yang berguna untuk meningkatkan keamanan dari bagian komputer yang sudah usang.

3. Network Security Assessments

reverse-engineering
Photo by securityscorecard.com/blog/what-is-network-security-assessment

Perusahaan memanfaatkan penggunaan reverse engineering sebagai salah satu alat mereka untuk melakukan penilaian terhadap network security assessment di perusahaan mereka. Nantinya perusahaan akan membagi kelompok keamanan menjadi dua tim. Satu tim akan bertindak sebagai tim penyerang yang melakukan simulasi penyerangan. Sedangkan, tim lainnya bertindak sebagai defense tim untuk memantau jaringan dan melakukan reverse engineer untuk merekayasa balik serangan dari tim lain. Nantinya, informasi yang diperoleh dari tim penyerangan akan digunakan untuk memperkuat jaringan perusahaan.

Tools dalam melakukan Reverse Engineering

Reverse engineering adalah salah satu senjata ampuh untuk memberantas cyber attack, dalam implementasinya membutuhkan beberapa tools untuk membantu dalam menerapkannya pada sistem. Berikut beberapa tools dalam melakukan reverse engineering:

1. IDA Pro

reverse-engineering
Photo by secpod.com/blog/introduction-to-ida-pro

IDA Pro merupakan sebuah tool yang dianggap oleh banyak orang dalam industri sebagai sebuah reverse engineering tools yang terbaik, bukan hanya karena label harganya, tapi juga karena fitur nya yang sangat banyak. IDA Pro dapat berjalan pada beberapa platform seperti windows, macOS dan juga linux.

2. Ghidra

reverse-engineering
Photo by ghidra-sre.org

Ghidra merupakan salah satu tools dalam melakukan reverse engineering yang pernah menjadi berita utama dikarenakan NSA memberitahukan framework reverse engineering mereka. Software ini bisa dijalankan pada windows, macOS dan juga linux. Ghidra memiliki beberapa fitur yang menarik seperti disassembly,assembly, decompilation, graphic, dan juga scripting. Selain itu, ghidra juga mendukung serangkaian instruksi proses dan format yang dapat berjalan pada otomatis. Program ghidra dapat disesuaikan dengan bahasa pemrograman yang digunakan dengan menulis plugin menggunakan python atau java.

3. Hopper

reverse-engineering
Photo by tegakari.net/en/2018/10/hopper_disassembler

Hopper merupakan salah satu tools untuk melakukan reverse engineering untuk platform macOs dan juga linux. Hopper menyertakan SDK sehingga apabila fiturnya ingin diperluas, maka user dapat menulis filenya sendiri pada software ini. Selain itu, sebagian besar fitur software ini dapat dipanggil dari python script sehingga memberikan fleksibilitas kepada user. Untuk membuat prosedurnya mudah dipahami, ketika program dipanggil maka akan menampilkan representasi grafis dan control flow graph. File tersebut akan diekspor menjadi file PDF sehingga user bisa melihat apa saja yang terjadi pada software tersebut. Sayangnya, software hopper berbayar dengan menawarkan lisensi pribadi seharga 99 dollar dan lisensi komputer seharga 129 dollar.

Nah, itu dia segala hal mengenai reverse engineering, menarik bukan? Apabila mempelajari reverse engineering, maka kamu bisa mencegah cyber attack yang terjadi pada laptopmu. Apabila kamu ingin mengetahui jenis cyber attack yang sering terjadi di kalangan masyarakat, yuk cek artikel berikut!