Pengantar Embedded Reverse Engineeringrndc.or.id/download/embedded_reversing_for_beginners.pdfUntuk...

21
Pengantar Embedded Reverse Engineering Drubicza Indonesian Research and Development Center March 19, 2015 Abstract Tutorial ini ditujukan kepada rekan-rekan yang berminat untuk mem- pelajari hal yang berkaitan dengan embedded device reverse engineering mulai dari pengenalan perlengkapan yang dapat digunakan untuk mem- bantu proses reverse engineering, beberapa protokol komunikasi dan an- tarmuka yang sering digunakan pada perangkat embedded serta beberapa hal penting lainnya. Reverse engineering terhadap perangkat embedded itu sendiri bertujuan untuk mengetahui cara kerjanya, mencari kemungki- nan celah keamanan serta kemungkinan mengaktifkan atau menambahkan fitur yang terdapat pada perangkat tersebut. 1

Transcript of Pengantar Embedded Reverse Engineeringrndc.or.id/download/embedded_reversing_for_beginners.pdfUntuk...

Pengantar Embedded Reverse Engineering

DrubiczaIndonesian Research and Development Center

March 19, 2015

Abstract

Tutorial ini ditujukan kepada rekan-rekan yang berminat untuk mem-pelajari hal yang berkaitan dengan embedded device reverse engineeringmulai dari pengenalan perlengkapan yang dapat digunakan untuk mem-bantu proses reverse engineering, beberapa protokol komunikasi dan an-tarmuka yang sering digunakan pada perangkat embedded serta beberapahal penting lainnya. Reverse engineering terhadap perangkat embeddeditu sendiri bertujuan untuk mengetahui cara kerjanya, mencari kemungki-nan celah keamanan serta kemungkinan mengaktifkan atau menambahkanfitur yang terdapat pada perangkat tersebut.

1

1 Disclaimer

Tutorial ini hanya untuk tujuan pembelajaran semata, penulis tidak bertang-gungjawab atas penggunaan maupun penyalahgunaan tutorial ini. Perlu dicatatbahwa penulis tidak memiliki latar belakang pengetahuan elektronika, dan se-mua yang ada pada tulisan ini hanya merupakan rangkuman dari pengalamandan pelajaran yang penulis dapatkan secara otodidak jadi kemungkinan banyakpenjelasan yang kurang tepat atau bahkan salah.

2

2 Tools of Trade

Berikut ini adalah beberapa perlengkapan yang dapat membantu dalam prosesembedded reversing:

Multimeter

Seperti namanya, alat ini digunakan untuk berbagai jenis pengukuran,diantaranya kuat arus, voltase (AC/DC), tahanan, dan ada juga yangmenyediakan fitur untuk melakukan pengecekan transistor. Jika Andaberniat untuk membeli multimeter, ada baiknya Anda membeli multime-ter jenis digital dan akan lebih baik lagi jika Anda membeli tipe autorangekarena Anda tidak perlu mengatur lagi batas yang ingin Anda ukur. Mul-timeter profesional biasanya harganya relatif cukup mahal dan ada beber-apa merk terkenal yang sering digunakan, yaitu Fluke, Gossen, Agilent,UNI-T dan lain sebagainya. Anda tidak perlu menggunakan multime-ter profesional jika tujuan Anda hanya untuk hobby yang tidak terlaluserius. Untuk entry level multimeter, Anda dapat menggunakan produkdari UNI-T, Extech, dan lain-lain.

Solder

Solder digunakan untuk menghubungkan komponen menggunakan timahsolder. Dalam proses embeded reversing, terkadang kita perlu untuk meny-older kabel jumper ataupun melepaskan komponen dari papan rangka-ian (PCB), untuk itu dibutuhkan solder. Ada berbagai macam solder,namun sebaiknya gunakan solder yang memiliki pengatur suhu untukmemudahkan proses penyolderan. Untuk mata solder, sebaiknya gunakansesuai kebutuhan, namun perlu diingat bahwa mata solder lancip (tajam)lebih lambat dalam mengantarkan panas dibandingkan mata solder pipih(chisel). Demikian pula jika Anda menggunakan timah solder bebas tim-bal (lead free), maka Anda membutuhkan solder dengan suhu yang lebihtinggi dibandingkan jika Anda menggunakan timah solder biasa. Untuktahap awal, Anda dapat menggunakan solder yang mudah dijumpai di-pasaran seperti merk goot, dekko dan lain-lain yang tidak memiliki pen-gatur suhu. Namun, jika Anda memiliki dana lebih, ada baiknya menggu-nakan soldering station yang telah dilengkapi dengan blower (solder uap)untuk memudahkan jika Anda harus berurusan dengan komponen SurfaceMount Technology(SMT/SMD) yaitu komponen elektronika yang metodepemasangannya cukup dengan diletakkan pada papan sirkuit tanpa harusmelubangi papan sirkuit tersebut. Untuk hal tersebut, Anda dapat meng-gunakan solder seperti Atten seri 8586. Adapun untuk keperluan profe-sional, Anda dapat menggunakan solder dengan kualitas lebih baik pula,misalnya merk JBC, Hakko, Metcal, Weller, Ersa dan lain sebagainya.

3

Timah Solder

Ada 2 jenis timah solder yang sering digunakan, yaitu timah solder be-bas timbal (lead free) dan timah solder yang mengandung timbal. Selainitu, ukuran diameter timah solder juga beragam, dan yang umum ditemuiadalah timah solder yang memiliki diameter 0,8 mm. Untuk kebutuhansehari-hari, Anda dapat menggunakan tipe 60/40 (60 persen timah, 40persen timbal) rosin core, artinya pada bagian tengah timah solder ter-dapat rosin flux yang fungsinya untuk mempermudah proses penyolderandengan hasil yang lebih bagus. Selain menggunakan rosin core solder, adajuga rosin flux yang dijual terpisah dan sangat membantu proses peny-olderan dan kini tersedia dalam bentuk yang mudah terlarut dalam air(water soluble flux) yang memudahkan dalam membersihkan residunya.

Solder Wick

Solder wick fungsinya untuk membantu membersihkan sisa-sisa solderyang berlebihan atau mengangkat solder dari komponen sehingga kompo-nen elektronik dapat diangkat/dilepas dengan mudah dari papan sirkuit(PCB). Selain menggunakan solder wick, Anda juga dapat menggunakanvacuum khususnya jika Anda mengerjakan komponen-komponen through-hole.

Bus Pirate

Bus pirate adalah perangkat yang dapat digunakan untuk mengamati danberinteraksi menggunakan berbagai protokol komunikasi yang umum di-gunakan oleh perangkat elektronik, misalnya UART, SPI, I2C dan lainsebagainya. Anda dapat membaca secara lengkap dokumentasi mengenaibus pirate pada situs dangerous prototypes.

Oscilloscope

Oscilloscope adalah perangkat yang dapat digunakan untuk mengamatiperubahan sinyal dalam jangka waktu tertentu. Sinyal pada oscilloscopeditampilkan dalam bentuk perbandingan voltase terhadap waktu. Saatini ada berbagai jenis oscilloscope yang beredar, untuk tahap awal, Andadapat menggunakan USB oscilloscope, yaitu oscilloscope yang terhubungdengan komputer dan Anda menggunakan aplikasi pada komputer untukmenampilkan sinyal yang dikirimkan oleh USB oscilloscope. Selain itu,ada pula bench oscilloscope, yaitu oscilloscope yang memiliki monitor yangterintegrasi.

4

Logic Analyzer

Logic analyzer digunakan untuk melakukan analisis terhadap sinyal logicpada sebuah sistem digital. Secara sederhana, sinyal yang akan dianal-isa terlebih dahulu disimpan (capture/sampling), baru kemudian dapatdilakukan decoding sesuai dengan protokol yang digunakan oleh sampletersebut. Sample yang disimpan oleh logic analyzer ada yang bersifat se-quential (uncompressed) yaitu tersimpan dalam kondisi apa adanya danada pula yang melalui proses kompresi (compressed samples) dan un-tuk melakukan sampling, logic analyzer menggunakan trigger yang akanmenentukan kapan harus mulai menangkap sinyal yang akan dijadikansample untuk dianalisa. Ada 2 buah mode trigger yang digunakan olehlogic analyzer yaitu mode timing dan mode state. Trigger yang umum di-gunakan adalah trigger menggunakan timing mode. Logic analyzer yangumum digunakan diantaranya Saleae Logic, Open Bench Logic Sniffer,Asix Sigma2, USBee-SX dan lain sebagainya. Sedangkan pada sisi frontend client software, terdapat beberapa pilihan alternatif dan bersifat opensource diantaranya OLS dan sigrok.

JTAG Adapter

Sebenarnya Anda dapat menggunakan bus pirate sebagai jtag adapterdisertai dengan openOCD. Namun, jika Anda tidak memiliki bus pirate,Anda dapat menggunakan jtag adapter lainnya untuk melakukan komu-nikasi/debugging melalui protokol JTAG. Ada banyak jenis JTAG adapteryang dapat Anda gunakan diantaranya GoodFET, jtagulator, Die Datenkrake,Flyswatter2, Bus Blaster dan lain-lain. Untuk memahami lebih lanjutmengenai JTAG, Anda dapat membaca referensi berupa standard yangdigunakan yaitu IEEE 1149.1.

Binwalk (Software)

Binwalk adalah aplikasi opensource yang dapat digunakan untuk melakukananalisa dan mengekstrak firmware yang terdapat pada perangkat embed-ded. Analisa firmware dilakukan untuk mencari tahu fungsi-fungsi yangkadang tidak terdapat pada dokumentasi, termasuk kemungkinan adanyabackdoor yang disisipkan oleh pembuat perngkat embedded.

Flashrom (Software)

Flashrom adalah aplikasi opensource yang dapat digunakan untuk mem-baca, menulis dan melakukan verifikasi terhadap data yang terdapat padaflash chip (EEPROM). Flash chip pada umumnya berisi firmware dan con-toh yang umum ditemukan adalah chip BIOS pada komputer. Flashromitu sendiri sifatnya sangat fleksibel dan mendukung banyak jenis flash chip

5

dan beragam hardware programmer, serta dapat digunakan pada beber-apa jenis sistem operasi.

Datasheet

Datasheet berisi informasi mengenai suatu komponen dan biasanya dis-ertai dengan schematic yang direkomendasikan untuk komponen tesebut.Datasheet merupakan sumber informasi yang sangat penting dalam prosesembedded reversing. Contoh sederhana, datasheet mengenai suatu Inte-grated Circuit (IC) pada umumnya berisi informasi mengenai fungsi darisetiap pin yang ada pada IC tersebut. Misalnya sebuah IC memiliki pinuntuk komunikasi menggunakan serial, biasanya kita dapat memperolehinformasi untuk memudahkan proses debugging dari pin Tx (transmit)yang ada pada IC tersebut dengan cara sniffing. Pin lain yang umumdigunakan oleh IC saat ini adalah pin JTAG. Pin JTAG memiliki banyakfungsi, diantaranya adalah untuk debugging, menulis dan mengekstrakfirmware yang berada di dalam IC, dan dapat pula digunakan untuk enu-merasi komponen-komponen lain yang terhubung dengan IC tersebut.

Perlengkapan Lain

Perlengkapan lain yang sebaiknya Anda miliki adalah seperangkat obeng,tang potong, tang jepit, pinset, kaca pembesar, breadboard, kabel jumper,hot glue gun, LCR meter, frequency counter, dremel dan masih banyakperangkat pendukung lainnya. Selain itu, Anda wajib memiliki penge-tahuan mengenai elektronika dasar, khususnya fungsi dari komponen diskritseperti transistor, resistor, kapasitor dan lain-lain, serta pengetahuan men-genai arsitektur mikrokontroller/mikroprosesor yang umum digunakan padaperangkat embedded.

6

3 Pengetahuan Dasar Elektronika

Sebagai tahap awal, Anda perlu mengenali beberapa komponen dasar elektron-ika berupa komponen pasif dan fungsinya masing-masing:

Resistor

Resistor atau tahanan adalah komponen elektronika yang fungsi dasarnyauntuk menghambat arus pada suatu rangkaian. Secara sederhana, fungsiresistor dapat diandaikan seperti ketika Anda minum teh botol menggu-nakan sedotan, dimana sedotan tersebut kemudian Anda jepit menggu-nakan jari sehingga teh yang sampai ke mulut Anda jumlahnya menjadisedikit. Resistor yang umum digunakan untuk hobby adalah tipe throughhole dan tipenya adalah carbon film dan metal film. Perbedaan mendasarantara resistor carbon film dan metal film adalah nilai toleransinya. Re-sistor carbon film secara umum memiliki nilai toleransi 5% sedangkanresistor metal film nilai toleransinya lebih kecil yaitu 1%. Keuntunganmenggunakan resistor metal film adalah nilai tahanannya lebih akuratdibandingkan resistor carbon film. Dari segi penampakan pun, kedua je-nis resistor tersebut dapat dibedakan dari warna dasarnya, dimana resistorcarbon film memiliki warna dasar cokelat muda sedangkan resistor metalfilm memiliki warna dasar biru muda. Untuk menghitung nilai tahananresistor, dapat Anda lakukan secara manual yaitu dengan membaca striplingkaran yang ada pada permukaan resistor. Resistor berhubungan eratdengan hukum Ohm yaitu persamaan:

V = I ×R

Dimana V adalah tegangan listrik atau voltase yang memiliki satuan Volt.I adalah kuat arus, satuannya Ampere. R adalah tahanan yang satuannyaadalah ohm. Hambatan yang dihasilkan oleh resistor jika dipasang secaraseri adalah jumlah tahanan tiap resistor dengan persamaan:

Rtotal = R1 + R2 + R3 + ... + Rn

sedangkan hambatan yang dihasilkan oleh resistor yang dipasang secaraparalel adalah jumlah dari satu dibagi tahanan tiap resistor dengan per-samaan sebagai berikut:

Rtotal =1

R1+

1

R2+

1

R3+ ... +

1

Rn

Pemahaman mengenai fungsi resistor akan sangat membantu Anda dalamproses embedded reverse engineering, misalnya dengan mengamati letakpull-up resistor pada sebuah rangkaian, maka Anda bisa mendapatkansedikit gambaran mengenai cara kerja komponen yang berada di seki-tarnya.

7

Kapasitor

Kapasitor adalah komponen diskrit yang secara sederhana fungsinya adalahuntuk menyimpan energi dalam bentuk medan listrik. Ukuran kapasitordihitung dengan menggunakan satuan Farad. Kapasitor ada yang memi-liki polaritas dan ada pula yang tidak memiliki polaritas. Memiliki po-laritas artinya pin atau kaki pada kapasitor tersebut terdiri atas pin posi-tif dan pin negatif, sehingga tidak boleh dipasang secara terbalik padarangkaian elektronik. Pada umumnya kapasitor yang memiliki polaritasadalah kapasitor tipe elektrolit sedangkan kapasitor tanpa polarisasi padaumumnya berupa kapasitor keramik. Kapasitor mempunyai banyak fungsipada rangkaian elektronik, misalnya untuk mengurangi noise pada jaluryang dilalui oleh tegangan/arus listrik dan biasanya disebut dengan isti-lah kapasitor bypass/decoupling dimana kapasitor yang umum digunakanmemiliki ukuran 10 F, 1 F dan 100 nF. Selain itu kapasitor juga banyakdigunakan pada rangkaian filter sinyal, misalnya pada rangkaian yangberkaitan dengan sinyal audio dan frekuensi radio. Beberapa jenis filteryang umum digunakan antara lain: low pass filter yang berfungsi untukmeneruskan sinyal yang memiliki frekuensi rendah, sedangkan high passfilter fungsinya untuk meneruskan sinyal yang memiliki frekuensi tinggi,ada pula band pass filter yang digunakan untuk menyaring sinyal denganbatasan tertentu. Sebagai catatan, Anda perlu berhati-hati dengan ka-pasitor yang memiliki nilai tegangan besar karena dapat mengakibatkankejutan listrik yang dapat membahayakan jiwa Anda. Sebelum melakukankegiatan yang berkaitan dengan kapasitor bertegangan tinggi tersebut, se-baiknya Anda melakukan shorting, yaitu menghubungkan kedua pin/kakikapasitor misalnya menggunakan obeng yang memiliki isolator.

Diode

Secara sederhana, salah satu fungsi utama dioda adalah sebagai penyearaharus yaitu mengubah arus bolak-balik menjadi arus searah. Jadi diode ituibarat katup yang akan menyebabkan fluida mengalir ke satu arah danmenahan aliran dari arah yang sebaliknya, namun pada komponen elek-tronik, fluida tersebut adalah arus yang mengalir. Selain itu, ada jugajenis dioda yang digunakan untuk menstabilkan tegangan yang biasanyadisebut dengan istilah dioda zener. Adapun cara kerja dioda zener adalahmembiarkan arus mengalir selama tegangannya berada pada jangkauanoperasionalnya dan jika melebihi tegangan operasionalnya maka diodezener tersebut akan memastikan bahwa arus yang keluar tidak melebihijangkauan operasionalnya. Dioda juga terdapat dalam bentuk lain, mis-alnya sensor cahaya atau lazim disebut photodiode dan kebalikannya yaitudalam bentuk lampu yang sering disingkat LED (Light Emitting Diode).

8

Transistor

Transistor jika diandaikan secara sederhana, ibarat keran air. Jika Andamemutar keran, maka air akan mengalir. Transistor memiliki 3 buah kaki.Pada transistor jenis BJT (Bipolar Junction Transistor), ketiga kaki terse-but diberi nama base, collector dan emitter. Sedangkan pada transistor je-nis FET (Field Effect Transistor), ketiga kakinya diberi nama gate, sourcedan drain. Salah satu perbedaan antara transistor BJT dan FET adalahtransistor tipe BJT bersifat aktif.

Crystal Oscillator

Crystal oscillator atau biasa disingkat xtal adalah komponen yang umumdigunakan untuk membangkitkan clock signal pada rangkaian elektronikserta untuk menstabilkan frekuensi pada perangkat yang berhubungandengan gelombang radio (RF). Crystal oscillator pada rangkaian elek-tronik biasanya memiliki dua buah kapasitor pada tiap kakinya yang berfungsisebagai beban (load). Ada beberapa alternatif selain menggunakan crys-tal oscillator, diantaranya ceramic resonator yang pada prinsipnya miripdengan crystal oscillator namun memiliki kapasitor load internal, dan se-lain itu ada juga PLL (Phase-Locked Loop) synthesizer IC yang dalamkehidupan nyata biasanya menjadi target para overclocker untuk men-jalankan processor melampaui batas yang dianjurkan oleh produsen.

9

4 Protokol dan Antarmuka

UART/USART

UART/USART (Universal Asynchronous/Synchronous Receiver-Transmitter)atau biasa juga disebut komunikasi serial adalah antarmuka yang umumditemukan pada perangkat embedded. Protokol yang umum digunakanpada antarmuka ini adalah RS-232, dan juga RS-485 yang sering digu-nakan untuk kebutuhan perangkat industrial. Ada 2 buah jalur sinyalpenting yang digunakan untuk berkomunikasi pada antarmuka ini, yaitu:

• Tx (Transmit). Seperti namanya, pin Tx (Transmit) berfungsi untukmengirimkan data.

• Rx (Receive). Pin Rx (Receive), berfungsi untuk menerima data.

Kecepatan komunikasi pada antarmuka UART dihitung dengan menggu-nakan satuan baud yaitu jumlah sinyal per detik, namun seiring perkem-bangan jaman, rata-rata perangkat yang menggunakan antarmuka UARTsudah memiliki fitur untuk mendeteksi baud rate secara otomatis (auto-matic baud rate detection). Hal yang perlu diperhatikan untuk protokolUART/USART adalah koneksi antara perangkat master dan slave, pin Txpada master dihubungkan dengan pin Rx pada slave, dan demikian pulasebaliknya pin Tx pada slave terhubung dengan pin Rx pada perangkatyang berfungsi sebagai master. Saat ini, komunikasi serial pada perangkatembedded umumnya menggunakan adapter antara serial dan USB, dan ICyang umum digunakan sebagai adapter adalah buatan FTDI, misalnya seriFT232.

SPI

SPI atau Serial Peripheral Interface adalah protokol komunikasi yangcukup banyak digunakan oleh perangkat elektronik selain UART. Pro-tokol SPI dapat menghubungkan beberapa periferal, dimana satu periferalberfungsi sebagai master dan periferal lainnya berfungsi sebagai slave.Koneksi antara master dan slave menggunakan jalur SCLK, MISO danMOSI yang sama, namun jalur CS untuk setiap periferal berbeda. Pro-tokol komunikasi ini menggunakan 4 buah jalur untuk sinyal. Jalur-jalurtersebut adalah:

• SCLK (Serial Clock) adalah jalur yang digunakan oleh perangkatmaster untuk membangkitkan clock yang akan digunakan mengaturaliran data ketika terjadi komunikasi antara perangkat master danslave.

• MISO (Master In Slave Out) adalah jalur yang digunakan utuk men-girimkan data dari perangkat slave ke perangkat master.

10

• MOSI (Master Out Slave In) merupakan jalur yang digunakan untukmengirimkan data dari perangkat master ke perangkat slave.

• SS (Slave Select) / CS (Chip Select) berfungsi mengaktifkan per-iferal slave yang akan diajak berkomunikasi oleh master dan menon-aktifkan periferal lain yang tidak digunakan. Namun demikian, adakondisi dimana hal tersebut tidak berfungsi demikian. Hal tersebutdisebabkan oleh slave yang jalur outputnya (MISO) tidak dilengkapidengan logika tri-state.

I2C

I2C (Inter Integrated Circuit) adalah protokol yang ditemukan oleh pe-rusahaan Philips Semiconductor (kini namanya NXP). Protokol ini seringjuga disebut dengan TWI (Two Wire Interface) karena dulu nama I2Cadalah merupakan hak paten dari NXP. Kelebihan dari protokol komu-nikasi ini adalah karena hanya membutuhkan dua buah jalur sinyal untukpengiriman data yaitu:

• SCL (Serial Clock Line). Perangkat yang bertugas sebagai mas-ter berfungsi untuk membangkitkan clock yang akan dikirim melaluijalur SCL (Serial Clock Line) sedangkan perangkat yang bertugas se-bagi slave berfungsi menerima clock dari master dan kemudian mem-berikan respon dalam bentuk menerima atau mengirimkan data.

• SDA (Serial Data Line) adalah jalur yang digunakan untuk per-tukaran data antara perangkat master dan slave.

Sama dengan SPI, beberapa perangkat dapat dihubungkan menggunakanprotokol I2C, dan batasannya adalah jumlah maksimum alamat perangkatyang terhubung serta kapasitansi total koneksi antar perangkat yaitu 400pF.Perangkat yang umum menggunakan protokol komunikasi I2C misalnyaEEPROM, sensor IMU (Inertial Measurement Unit), Real Time Clock(RTC) dan lain sebagainya.

JTAG

JTAG adalah metode pengujian komponen elektronik yang diatur olehstandar IEEE 1149.1 dan pada awalnya merupakan rekomendasi oleh kelom-pok yang terdiri dari produsen komponen elektronik yang tergabung dalamJoint Test Action Group. Kelebihan dari JTAG adalah, kemampuannyadalam melakukan pengujian komponen elektronik tanpa melakukan kon-tak langsung secara fisik dengan pin yang ingin diubah ataupun dibacanilainya. Hal tersebut sangat penting, mengingat komponen elektroniksaat ini ukurannya semakin kecil dengan pin yang sangat susah dijangkau,misalnya pin yang terdapat pada komponen yang menggunakan packag-ing BGA/WLCSP. JTAG memiliki antarmuka yang dikenal dengan namaTest Access Port (TAP), dan berikut ini adalah jalur sinyal yang digu-nakan oleh antarmuka tersebut:

11

• TMS (Test Mode Select) adalah jalur sinyal yang mengatur statemachine antarmuka TAP.

• TCK (Test Data Clock) adalah jalur sinyal yang mengirimkan clockuntuk mengatur aliran data pada antarmuka TAP.

• TDI (Test Data In) adalah jalur sinyal yang digunakan untuk mener-ima data oleh komponen yang sedang diuji.

• TDO (Test Data Out) adalah jalur sinyal yang digunakan mengir-imkan data keluar dari komponen yang sedang diuji pada perangkatembedded.

• TRST (Test Reset) adalah pin yang bersifat opsional, dimana fungsinyaadalah melakukan reset pada antarmuka TAP.

Perlu diperhatikan bahwa antarmuka JTAG sifatnya hanya berupa stan-dard, dan setiap produsen komponen boleh melakukan implementasi sesuaidengan yang mereka inginkan. Oleh karenanya, Anda harus terlebih dahulumencari informasi mengenai implementasi JTAG yang digunakan oleh pro-dusen untuk perangkat embedded yang akan menjadi target reverse engi-neering.

Protokol dan antarmuka yang dijelaskan di atas hanya sebagian dari pro-tokol yang terdapat pada perangkat embedded. Masih banyak protokol danantarmuka lainnya yang dapat Anda pelajari, diantaranya Inter Integrated Cir-cuit Sound(I2S) yang digunakan untuk sinyal audio, Serial Wire Debug(SWD)yaitu protokol yang dikembangkan oleh ARM, Spy-bi-Wire (SBW) yang dikem-bangkan oleh Texas Instruments, Camera Serial Interface (CSI) Digital Se-rial Interface (DSI) yang dikembangkan oleh MIPI Alliance, CANBUS yangpada umumnya digunakan pada kendaraan, Low Voltage Differential Signalling(LVDS) yang biasanya digunakan pada display misalnya LCD, dan lain-lain.

12

5 Tips & Tricks

• Rangkaian elektronik pada umumnya memiliki titik kontak yang memilikiidentifikasi TP dan diikuti dengan angka, misalnya TP1, TP2, ..., titikkontak tersebut adalah Test Point yang digunakan ketika proses QualityControl untuk menguji apakah perangkat tersebut dapat berfungsi den-gan baik atau memiliki kerusakan sehingga tidak layak dipasarkan. Andadapat menggunakan Test Point tersebut sebagai awal untuk melakukanreverse engineering dengan mengamati sinyal yang melewati jalur terse-but.

• Sejumlah perangkat embedded memiliki jalur sinyal yang menggunakanantarmuka serial (UART), Anda dapat menggunakan trik memanfaatkanmultimeter untuk mengukur tegangan pada jalur yang kemungkinan meru-pakan antarmuka serial tersebut. Biasanya voltase untuk pin Tx (Trans-mit) memiliki tegangan sekitar 1,8V atau 2,8V dan untuk pin Rx (Receive)memiliki tegangan sekitar 1,7V atau 2,7V.

• Jika Anda bingung memulai dari mana, maka Anda dapat memulai darihal yang sederhana, misalnya dengan memanfaatkan komputer bekas yangsudah tidak dipakai. Sebagai referensi, Anda dapat membaca tutorial LowCost Embedded x86 Teaching Tool.

13

6 Penutup

Embedded reverse engineering memang bukanlah hal yang mudah, namun asalkanAnda sabar dan rajin membaca referensi/dokumentasi dan melakukan eksper-imen, maka hal tersebut akan menjadi sesuatu yang menarik bahkan menye-nangkan. Ada banyak contoh manfaat pengetahuan mengenai embedded di la-pangan. Salah satu contoh studi kasusnya adalah pemanfaatan dan kustomisasicoreboot sebagai fitur pengamanan tambahan pada mesin ATM. Sekian tulisansingkat kali ini, semoga bermanfaat. Terima kasih kepada Tuhan Yang MahaEsa, Maxindo, N3 dan Anda yang telah membaca tulisan ini.

14

7 Lampiran

Berikut ini adalah gambar beberapa perangkat yang dapat membantu dalamproses embedded reverse engineering:

Gambar 1. Digital Storage Oscilloscope

Gambar 2. Logic Analyzer

15

Gambar 3. Autorange Multimeter

Gambar 4. SMD Tester

16

Gambar 5. Frequency Counter

Gambar 6. RF Explorer

17

Gambar 7. Bus Pirate

Gambar 8. FTDI USB to Serial Adapter

18

Gambar 10. FTDI FT2232 JTAG Adapter

Gambar 11. OpenXC Vehicle Interface

19

Gambar 12. TSOP48 Adapter

20

Gambar 13. ATTEN 8586 Soldering Station

21