Sejarah Keamanan Perangkat Lunak

Sebelum mendalami teknik keamanan ofensif dan defensif yang sesungguhnya, penting untuk setidaknya memiliki pemahaman tentang sejarah keamanan perangkat lunak yang panjang dan menarik. Tinjauan singkat tentang peristiwa keamanan besar dalam seratus tahun terakhir seharusnya cukup untuk memberi Anda pemahaman tentang teknologi dasar yang mendasari aplikasi web saat ini. Lebih lanjut, ini akan menunjukkan hubungan yang berkelanjutan antara pengembangan mekanisme keamanan dan improvisasi para peretas berwawasan ke depan yang mencari peluang untuk membobol atau menerobos mekanisme tersebut.

Asal-Usul Peretasan

Dalam dua dekade terakhir, peretas telah mendapatkan lebih banyak publisitas dan ketenaran daripada sebelumnya. Akibatnya, mudah bagi siapa pun tanpa latar belakang yang memadai untuk berasumsi bahwa peretasan adalah sebuah konsep yang erat kaitannya dengan internet dan bahwa sebagian besar peretas muncul dalam 20 tahun terakhir.

Namun, itu hanya sebagian kebenaran. Meskipun jumlah peretas di seluruh dunia telah melonjak pesat seiring dengan munculnya World Wide Web, peretas telah ada sejak pertengahan abad ke-20—bahkan mungkin lebih awal, tergantung pada apa yang Anda definisikan sebagai "peretasan". Banyak pakar memperdebatkan dekade yang menandai asal-usul sejati peretas modern karena beberapa peristiwa penting di awal tahun 1900-an menunjukkan kemiripan yang signifikan dengan peretasan yang Anda saksikan di dunia saat ini.

Misalnya, terdapat insiden-insiden terisolasi tertentu yang kemungkinan besar memenuhi syarat sebagai peretasan pada tahun 1910-an dan 1920-an, yang sebagian besar melibatkan perusakan pengirim dan penerima kode Morse, atau mengganggu transmisi gelombang radio. Namun, meskipun peristiwa-peristiwa ini memang terjadi, kejadian tersebut tidak umum, dan sulit untuk menentukan operasi skala besar yang terganggu akibat penyalahgunaan teknologi ini.

Penting juga untuk dicatat bahwa saya bukan sejarawan. Saya seorang profesional keamanan dengan latar belakang mencari solusi untuk masalah keamanan tingkat arsitektur dan kode yang mendalam dalam perangkat lunak perusahaan. Sebelumnya, saya menghabiskan bertahun-tahun sebagai insinyur perangkat lunak yang menulis aplikasi web dalam berbagai bahasa dan kerangka kerja. Saya terus menulis perangkat lunak hingga saat ini dalam bentuk otomatisasi keamanan, selain berkontribusi pada berbagai proyek di waktu luang saya sebagai hobi. Ini berarti saya di sini bukan untuk berdebat secara spesifik atau membahas kisah-kisah asal usul alternatif. Sebaliknya, bagian ini disusun berdasarkan penelitian independen bertahun-tahun, dengan penekanan pada pelajaran yang dapat kita petik dari peristiwa-peristiwa ini dan terapkan saat ini.

Karena bab ini tidak dimaksudkan sebagai ikhtisar yang komprehensif, melainkan sebagai referensi untuk peristiwa-peristiwa sejarah penting, kita memulai linimasa kita di awal tahun 1930-an. Sekarang, tanpa gangguan lebih lanjut, mari kita telaah sejumlah peristiwa sejarah yang membantu membentuk hubungan antara peretas dan insinyur saat ini.

Mesin Enigma, Sekitar Tahun 1930

Mesin Enigma menggunakan rotor mekanis bertenaga listrik untuk mengenkripsi dan mendekripsi pesan berbasis teks yang dikirim melalui gelombang radio (lihat Gambar 1-1). Perangkat ini berasal dari Jerman dan menjadi perkembangan teknologi penting selama Perang Dunia Kedua.

../_images/01-01-EnigmaMachineLabeled.jpg

Perangkat itu tampak seperti mesin tik mekanis besar berbentuk persegi atau persegi panjang. Setiap kali tombol ditekan, rotor akan bergerak dan merekam karakter yang tampak acak, yang kemudian akan ditransmisikan ke semua mesin Enigma di dekatnya. Namun, karakter-karakter ini tidak acak, melainkan ditentukan oleh rotasi rotor dan sejumlah opsi konfigurasi yang dapat diubah kapan saja pada perangkat. Setiap mesin Enigma dengan konfigurasi tertentu dapat membaca atau "mendekripsi" pesan yang dikirim dari mesin lain dengan konfigurasi yang identik. Hal ini membuat mesin Enigma sangat berharga untuk mengirimkan pesan-pesan penting sekaligus menghindari intersepsi.

Meskipun penemu tunggal mekanisme enkripsi putar yang digunakan oleh mesin ini sulit diidentifikasi, teknologi ini dipopulerkan oleh sebuah perusahaan yang beranggotakan dua orang bernama Chiffriermaschinen AG yang berbasis di Jerman. Pada tahun 1920-an, Chiffriermaschinen AG berkeliling ke seluruh Jerman untuk mendemonstrasikan teknologi tersebut, yang kemudian diadopsi oleh militer Jerman pada tahun 1928 untuk mengamankan pesan militer rahasia saat transit.

Kemampuan untuk menghindari penyadapan pesan jarak jauh merupakan perkembangan radikal yang belum pernah terjadi sebelumnya. Dalam dunia perangkat lunak saat ini, penyadapan pesan masih merupakan teknik populer yang coba diterapkan oleh para peretas, sering disebut serangan man-in-the-middle. Perangkat lunak saat ini menggunakan teknik yang serupa (tetapi jauh lebih canggih) dengan teknik yang digunakan mesin Enigma seratus tahun yang lalu untuk melindungi dari serangan semacam itu.

Meskipun mesin Enigma merupakan teknologi yang sangat mengesankan pada masanya, mesin tersebut bukannya tanpa kekurangan. Karena satu-satunya kriteria untuk penyadapan dan dekripsi adalah mesin Enigma dengan konfigurasi yang identik dengan pengirim, satu log konfigurasi yang dibobol (atau kunci privat, dalam istilah saat ini) dapat membuat seluruh jaringan mesin Enigma tidak berguna.

Untuk mengatasi hal ini, setiap grup yang mengirim pesan melalui mesin Enigma mengubah pengaturan konfigurasi mereka secara berkala. Mengonfigurasi ulang mesin Enigma merupakan proses yang memakan waktu. Pertama, log konfigurasi harus dipertukarkan secara langsung, karena cara aman untuk membagikannya dari jarak jauh belum tersedia. Berbagi log konfigurasi antara jaringan dua mesin dan dua operator mungkin tidak sulit. Namun, jaringan yang lebih besar, katakanlah 20 mesin, membutuhkan beberapa pengirim pesan untuk mengirimkan log konfigurasi—masing-masing meningkatkan kemungkinan log konfigurasi dicegat dan dicuri, atau bahkan berpotensi bocor atau dijual.

Masalah kedua dengan berbagi log konfigurasi adalah diperlukannya penyesuaian manual pada mesin itu sendiri agar mesin Enigma dapat membaca, mengenkripsi, dan mendekripsi pesan baru yang dikirim dari mesin Enigma lainnya. Ini berarti bahwa anggota staf yang terlatih dan khusus harus hadir jika pembaruan konfigurasi diperlukan. Semua ini terjadi di era sebelum perangkat lunak, sehingga penyesuaian konfigurasi ini memerlukan modifikasi perangkat keras dan penyesuaian tata letak fisik serta kabel papan colokan. Penyetel membutuhkan latar belakang di bidang elektronika, yang sangat langka di awal tahun 1900-an.

Karena sulit dan memakan waktu untuk memperbarui mesin-mesin ini, pembaruan biasanya dilakukan setiap bulan—setiap hari untuk jalur komunikasi yang sangat penting. Jika sebuah kunci dicegat atau bocor, semua transmisi selama sisa bulan tersebut dapat dicegat oleh aktor jahat—setara dengan peretas saat ini.

Jenis enkripsi yang digunakan mesin-mesin Enigma ini sekarang dikenal sebagai algoritma kunci simetris, yang merupakan jenis sandi khusus yang memungkinkan enkripsi dan dekripsi pesan menggunakan satu kunci kriptografi. Jenis enkripsi ini masih digunakan hingga saat ini dalam perangkat lunak untuk mengamankan data yang sedang transit (antara pengirim dan penerima), tetapi dengan banyak penyempurnaan dari model klasik yang populer bersama mesin Enigma.

Dalam perangkat lunak, kunci dapat dibuat jauh lebih kompleks. Algoritma pembangkit kunci modern menghasilkan kunci yang begitu kompleks sehingga mencoba setiap kombinasi yang memungkinkan (brute forcing atau serangan brute force) dengan perangkat keras modern tercepat dapat memakan waktu lebih dari satu juta tahun. Selain itu, tidak seperti mesin Enigma di masa lalu, kunci perangkat lunak dapat berubah dengan cepat.

Bergantung pada kasus penggunaannya, kunci dapat dibuat ulang pada setiap sesi pengguna (per login), pada setiap permintaan jaringan, atau pada interval terjadwal. Ketika jenis enkripsi ini digunakan dalam perangkat lunak, kunci yang bocor dapat membuat Anda terpapar pada satu permintaan jaringan dalam kasus regenerasi per permintaan, atau dalam skenario terburuk, beberapa jam dalam kasus regenerasi per login (per sesi).

Jika Anda menelusuri garis keturunan kriptografi modern jauh ke belakang, Anda pada akhirnya akan mencapai Perang Dunia II pada tahun 1930-an. Dapat dikatakan bahwa mesin Enigma merupakan tonggak penting dalam pengamanan komunikasi jarak jauh. Dari sini, kita dapat menyimpulkan bahwa mesin Enigma merupakan perkembangan penting dalam apa yang kemudian menjadi bidang keamanan perangkat lunak.

Mesin Enigma juga merupakan perkembangan teknologi penting bagi mereka yang pada akhirnya dikenal sebagai "peretas". Penggunaan mesin Enigma oleh Blok Poros selama Perang Dunia II mengakibatkan tekanan ekstrem bagi Sekutu untuk mengembangkan teknik pemecahan enkripsi. Jenderal Dwight D. Eisenhower sendiri mengklaim bahwa hal itu akan penting untuk kemenangan melawan Nazi.

Pada bulan September 1932, seorang matematikawan Polandia bernama Marian Rejewski diberi mesin Enigma curian. Pada saat yang sama, seorang mata-mata Prancis bernama Hans-Thilo Schmidt berhasil memberikan kepadanya konfigurasi yang valid untuk bulan September dan Oktober 1932. Hal ini memungkinkan Marian untuk mencegat pesan yang darinya ia dapat mulai menganalisis misteri enkripsi mesin Enigma.

Marian mencoba menentukan cara kerja mesin tersebut, baik secara mekanis maupun matematis. Ia ingin memahami bagaimana konfigurasi perangkat keras mesin tertentu dapat menghasilkan keluaran pesan terenkripsi yang sama sekali berbeda.

Upaya dekripsi Marian didasarkan pada sejumlah teori tentang konfigurasi mesin seperti apa yang akan menghasilkan keluaran tertentu. Dengan menganalisis pola dalam pesan terenkripsi dan mengembangkan teori berdasarkan mekanisme mesin, Marian dan dua rekan kerjanya, Jerzy Różycki dan Henryk Zygalski, akhirnya merekayasa balik sistem tersebut. Dengan pemahaman mendalam tentang mekanisme rotor Enigma dan konfigurasi papan yang dikembangkan tim, mereka dapat membuat tebakan yang tepat tentang konfigurasi mana yang akan menghasilkan pola enkripsi yang berbeda. Mereka kemudian dapat mengonfigurasi ulang papan dengan akurasi yang wajar dan, setelah beberapa kali percobaan, mulai membaca lalu lintas radio terenkripsi. Pada tahun 1933, tim tersebut mencegat dan mendekripsi lalu lintas mesin Enigma setiap hari.

Layaknya para peretas masa kini, Marian dan timnya mencegat dan merekayasa balik skema enkripsi untuk mendapatkan akses ke data berharga yang dihasilkan oleh sumber selain mereka sendiri. Karena alasan-alasan ini, saya menganggap Marian Rejewski dan tim yang membantunya sebagai salah satu peretas paling awal di dunia.

Pada tahun-tahun berikutnya, Jerman terus meningkatkan kompleksitas enkripsi mesin Enigma-nya. Hal ini dilakukan dengan secara bertahap meningkatkan jumlah rotor yang diperlukan untuk mengenkripsi sebuah karakter. Pada akhirnya, kompleksitas rekayasa balik sebuah konfigurasi akan menjadi terlalu sulit bagi tim Marian untuk dipecahkan dalam jangka waktu yang wajar.

Perkembangan ini juga penting, karena memberikan gambaran tentang hubungan yang terus berkembang antara peretas dan mereka yang mencoba mencegah peretasan. Hubungan ini berlanjut hingga saat ini, seiring para peretas kreatif terus mengulang dan menyempurnakan teknik mereka untuk membobol sistem perangkat lunak. Dan di sisi lain, para insinyur cerdas terus mengembangkan teknik-teknik baru untuk bertahan dari peretas paling inovatif.

Pemecahan Kode Enigma Otomatis, Sekitar Tahun 1940

Alan Turing adalah seorang matematikawan Inggris yang terkenal atas pengembangan tesnya yang kini dikenal sebagai "tes Turing". Tes Turing dikembangkan untuk menilai percakapan yang dihasilkan oleh mesin berdasarkan kesulitan dalam membedakan percakapan tersebut dari percakapan manusia nyata. Tes ini sering dianggap sebagai salah satu filosofi dasar di bidang kecerdasan buatan (AI).

Meskipun Alan Turing terkenal karena karyanya di bidang AI, ia juga merupakan pelopor dalam kriptografi dan otomatisasi. Bahkan, sebelum dan selama Perang Dunia II, fokus penelitian Alan terutama pada kriptografi, bukan AI. Mulai September 1938, Alan bekerja paruh waktu di Government Code and Cypher School (GC&CS). GC&CS adalah lembaga penelitian dan intelijen yang didanai oleh Angkatan Darat Inggris, yang berlokasi di Bletchley Park, Inggris.

Penelitian Alan terutama berfokus pada analisis mesin Enigma. Di Bletchley Park, Alan meneliti kriptografi mesin Enigma bersama mentornya saat itu, Dilly Knox, yang saat itu merupakan seorang kriptografer berpengalaman.

Layaknya matematikawan Polandia sebelum mereka, Alan dan Dilly ingin menemukan cara untuk memecahkan enkripsi mesin Enigma Jerman (yang kini jauh lebih canggih). Berkat kemitraan mereka dengan Biro Sandi Polandia, keduanya memperoleh akses ke semua penelitian yang telah dihasilkan tim Marian hampir satu dekade sebelumnya. Ini berarti mereka telah memiliki pemahaman yang mendalam tentang mesin tersebut. Mereka memahami hubungan antara rotor dan kabel, serta mengetahui hubungan antara konfigurasi perangkat dan enkripsi yang akan dihasilkan (Gambar 1-2).

../_images/01-02-EnigmaRotor.jpg

Tim Marian berhasil menemukan pola dalam enkripsi yang memungkinkan mereka membuat tebakan yang tepat mengenai konfigurasi sebuah mesin. Namun, hal ini tidak dapat diskalakan karena jumlah rotor dalam mesin telah meningkat hingga sepuluh kali lipat. Dalam waktu yang dibutuhkan untuk mencoba semua potensi kombinasi, konfigurasi baru pasti sudah dikeluarkan. Karena itu, Alan dan Dilly mencari jenis solusi yang berbeda; solusi yang dapat diskalakan dan dapat digunakan untuk memecahkan jenis enkripsi baru. Mereka menginginkan solusi yang bersifat umum, alih-alih solusi yang sangat terspesialisasi.

Memperkenalkan "Bombe"

Bombe adalah perangkat mekanis bertenaga listrik yang berusaha untuk secara otomatis merekayasa balik posisi rotor mekanis dalam mesin Enigma berdasarkan analisis mekanis pesan yang dikirim dari mesin tersebut (lihat Gambar 1- 3).

../_images/01-03-Wartime_picture_of_a_Bletchley_Park_Bombe.jpg

Bombe pertama dibuat oleh Polandia, dalam upaya untuk mengotomatiskan pekerjaan Marian. Sayangnya, perangkat ini dirancang untuk menentukan konfigurasi mesin Enigma dengan perangkat keras yang sangat spesifik. Khususnya, perangkat ini tidak efektif terhadap mesin dengan lebih dari tiga rotor. Karena bombe Polandia tidak dapat mengimbangi pengembangan mesin Enigma yang lebih kompleks, para kriptografer Polandia akhirnya kembali menggunakan metode manual untuk mencoba menguraikan pesan-pesan masa perang Jerman.

Alan Turing percaya bahwa mesin-mesin asli gagal karena tidak ditulis dengan cara yang umum. Untuk mengembangkan mesin yang dapat menguraikan konfigurasi Enigma apa pun (terlepas dari jumlah rotornya), ia memulai dengan asumsi sederhana: untuk merancang algoritma yang tepat guna mendekripsi pesan terenkripsi, Anda harus terlebih dahulu mengetahui kata atau frasa yang terdapat dalam pesan tersebut dan posisinya.

Untungnya bagi Alan, militer Jerman memiliki standar komunikasi yang sangat ketat. Setiap hari, sebuah pesan dikirim melalui gelombang radio Enigma terenkripsi yang berisi laporan cuaca regional yang terperinci. Dengan cara inilah militer Jerman memastikan bahwa semua unit mengetahui kondisi cuaca tanpa membagikannya secara publik kepada siapa pun yang mendengarkan radio. Pihak Jerman tidak tahu bahwa tim Alan akan mampu merekayasa balik tujuan dan posisi laporan-laporan ini.

Mengetahui masukan (data cuaca) yang dikirim melalui mesin Enigma yang dikonfigurasi dengan tepat membuat penentuan keluaran secara algoritmik jauh lebih mudah. ​​Alan menggunakan pengetahuan baru ini untuk menentukan konfigurasi bombe yang dapat bekerja secara independen dari jumlah rotor yang diandalkan oleh mesin Enigma yang sedang diretas.

Alan meminta anggaran untuk membangun sebuah bombe yang akan secara akurat mendeteksi persyaratan konfigurasi yang diperlukan untuk mencegat dan membaca pesan terenkripsi dari mesin Enigma Jerman. Setelah anggaran disetujui, Alan membangun sebuah bombe yang terdiri dari 108 drum yang dapat berputar secepat 120 RPM. Mesin ini dapat menjalankan hampir 20.000 kemungkinan konfigurasi mesin Enigma hanya dalam 20 menit. Ini berarti bahwa setiap konfigurasi baru dapat dengan cepat dibobol. Enkripsi Enigma bukan lagi sarana komunikasi yang aman.

Saat ini, strategi rekayasa balik Alan dikenal sebagai serangan teks biasa yang diketahui atau KPA. Ini adalah algoritma yang dibuat jauh lebih efisien dengan disediakannya data input/output sebelumnya. Teknik serupa digunakan oleh peretas modern untuk memecahkan enkripsi pada data yang disimpan atau digunakan dalam perangkat lunak. Mesin yang dibangun Alan menandai titik penting dalam sejarah, karena merupakan salah satu alat peretasan otomatis pertama yang pernah dibuat.

"Phreaking" Telepon, Sekitar 1950

Setelah munculnya mesin Enigma pada tahun 1930-an dan pertempuran kriptografi yang terjadi antara kekuatan-kekuatan besar dunia , pengenalan telepon adalah peristiwa besar berikutnya dalam linimasa kita. Telepon memungkinkan orang-orang biasa untuk berkomunikasi satu sama lain dalam jarak yang jauh, dan dengan kecepatan yang tinggi. Seiring berkembangnya jaringan telepon, mereka membutuhkan otomatisasi agar dapat berfungsi dalam skala besar.

Pada akhir 1950-an, perusahaan telekomunikasi seperti AT&T mulai menerapkan telepon baru yang dapat secara otomatis dialihkan ke nomor tujuan berdasarkan sinyal audio yang dipancarkan dari unit telepon. Menekan tombol pada papan telepon akan memancarkan frekuensi audio tertentu yang ditransmisikan melalui saluran dan diterjemahkan oleh mesin di pusat pengalihan. Mesin pengalihan menerjemahkan suara-suara ini menjadi angka dan mengalihkan panggilan ke penerima yang sesuai.

Sistem ini dikenal sebagai panggilan nada, dan merupakan perkembangan penting yang tidak dapat diabaikan oleh jaringan telepon dalam skala besar. Panggilan nada secara drastis mengurangi biaya operasional jaringan telepon, karena jaringan tersebut tidak lagi membutuhkan operator untuk menghubungkan setiap panggilan secara manual. Sebaliknya, satu operator yang mengawasi jaringan untuk masalah dapat mengelola ratusan panggilan dalam waktu yang sama dengan satu panggilan sebelumnya.

Dalam waktu singkat, sekelompok kecil orang mulai menyadari bahwa sistem apa pun yang dibangun berdasarkan interpretasi nada audio dapat dengan mudah dimanipulasi. Mempelajari cara mereproduksi frekuensi audio yang identik di samping penerima telepon dapat mengganggu fungsi perangkat yang diinginkan. Para penghobi yang bereksperimen dengan memanipulasi teknologi ini akhirnya dikenal sebagai phreaker—jenis peretas awal yang berspesialisasi dalam membobol atau memanipulasi jaringan telepon. Asal usul sebenarnya dari istilah phreaking tidak diketahui, meskipun memiliki beberapa kemungkinan asal yang diterima secara umum. Kata ini paling sering dianggap berasal dari dua kata, "freaking" dan "phone".

Ada usulan derivasi alternatif yang menurut saya lebih masuk akal. Saya yakin istilah phreaking berasal dari "frekuensi audio" sebagai respons terhadap bahasa sinyal audio yang digunakan telepon pada masa itu. Saya yakin penjelasan ini lebih masuk akal karena asal usul istilah tersebut sangat dekat secara kronologis dengan peluncuran sistem panggilan nada asli AT&T. Sebelum panggilan nada, panggilan telepon jauh lebih sulit untuk diutak-atik karena setiap panggilan memerlukan operator untuk menghubungkan kedua saluran.

Kita dapat melacak phreaking kembali ke beberapa peristiwa, tetapi kasus phreaking awal yang paling terkenal adalah penemuan dan pemanfaatan nada 2600 Hz. Frekuensi audio 2600 Hz digunakan secara internal oleh AT&T untuk memberi sinyal bahwa panggilan telah berakhir. Itu pada dasarnya adalah "perintah admin" yang tertanam dalam sistem panggilan nada asli. Memancarkan nada 2600 Hz menghentikan sistem peralihan telekomunikasi untuk menyadari bahwa panggilan masih terbuka (mencatat panggilan sebagai berakhir, meskipun masih berlangsung). Hal ini memungkinkan panggilan internasional yang mahal dilakukan tanpa tagihan dicatat atau dikirim ke penelepon.

Penemuan nada 2600 Hz sering dikaitkan dengan dua peristiwa. Pertama, seorang anak laki-laki bernama Joe Engressia diketahui memiliki nada siulan 2600 Hz dan kabarnya akan pamer kepada teman-temannya dengan bersiul nada yang dapat mencegah telepon melakukan panggilan. Beberapa orang menganggap Joe sebagai salah satu penemu telepon phreaker pertama, meskipun penemuannya terjadi secara tidak sengaja.

Kemudian, seorang teman Joe Engressia bernama John Draper menemukan bahwa peluit mainan yang disertakan dalam kotak sereal Cap'n Crunch meniru nada 2600 Hz. Penggunaan peluit yang cermat juga dapat menghasilkan panggilan telepon jarak jauh gratis menggunakan teknik yang sama. Pengetahuan tentang teknik-teknik ini menyebar ke seluruh dunia Barat, yang akhirnya mengarah pada generasi perangkat keras yang dapat mencocokkan frekuensi audio tertentu hanya dengan menekan sebuah tombol.

Perangkat keras pertama dari jenis ini dikenal sebagai kotak biru. Kotak biru memainkan sinyal 2600 Hz yang hampir sempurna, memungkinkan siapa pun yang memilikinya untuk memanfaatkan bug panggilan gratis yang melekat pada sistem peralihan telekomunikasi. Kotak biru hanyalah awal dari perangkat keras phreaking otomatis, karena generasi phreaker selanjutnya akan merusak telepon umum, mencegah siklus penagihan dimulai tanpa menggunakan sinyal 2600 Hz, meniru sinyal komunikasi militer, dan bahkan memalsukan ID penelepon.

Dari sini kita dapat melihat bahwa para arsitek jaringan telepon awal hanya mempertimbangkan orang-orang biasa dan tujuan komunikasi mereka. Dalam dunia perangkat lunak saat ini, hal ini dikenal sebagai desain "skenario kasus terbaik". Merancang berdasarkan ini adalah kesalahan fatal, tetapi ini akan menjadi pelajaran penting yang masih relevan hingga saat ini: selalu pertimbangkan skenario terburuk terlebih dahulu ketika merancang sistem yang kompleks.

Akhirnya, pengetahuan tentang kelemahan yang terdapat dalam sistem panggilan nada menjadi lebih dikenal luas, yang menyebabkan anggaran dialokasikan untuk mengembangkan tindakan pencegahan guna melindungi keuntungan telekomunikasi dan integritas panggilan dari phreaker.

Anti-Phreaking Technology, Circa 1960

In the 1960s, phones were equipped with a new technology known as dual-tone multifrequency (DTMF) signaling. DTMF was an audio-based signaling language developed by Bell Systems and patented under the more commonly known trademark, “Touch Tones.” DTMF was intrinsically tied to the phone dial layout we know today that consists of three columns and four rows of numbers. Each key on a DTMF phone emitted two very specific audio frequencies, versus a single frequency like the original tone dialing systems.

This table represents the “Touch Tones,” or sounds, (in hertz) that older telephones made on keypress:

1

2

3

(697 Hz)

4

5

6

(697 Hz)

7

8

9

(697 Hz)

*

0

#

(697 Hz)

(1209 Hz)

(1336 Hz)

(1477 Hz)

.

Perkembangan DTMF sebagian besar disebabkan oleh fakta bahwa para phreaker memanfaatkan sistem panggilan nada karena betapa mudahnya sistem tersebut direkayasa ulang. Bell Systems percaya bahwa karena sistem DTMF menggunakan dua nada yang sangat berbeda secara bersamaan, akan jauh lebih sulit bagi pelaku kejahatan untuk memanfaatkannya.

Nada DTMF tidak dapat dengan mudah direplikasi oleh suara manusia atau peluit, yang berarti teknologi ini secara signifikan lebih aman daripada pendahulunya. DTMF adalah contoh utama dari pengembangan keamanan yang sukses yang diperkenalkan untuk memerangi para phreaker, para peretas pada era tersebut.

Mekanisme pembangkitan nada DTMF cukup sederhana. Di balik setiap tombol terdapat sakelar yang memberi sinyal ke speaker internal untuk memancarkan dua frekuensi: satu frekuensi berdasarkan baris tombol dan satu frekuensi berdasarkan kolom. Oleh karena itu, istilah nada ganda digunakan.

DTMF diadopsi sebagai standar oleh International Telecommunication Union (ITU) dan kemudian digunakan di TV kabel (untuk menentukan waktu jeda iklan), selain juga di telepon.

DTMF merupakan perkembangan teknologi yang penting karena menunjukkan bahwa sistem dapat direkayasa agar lebih sulit disalahgunakan jika perencanaan yang tepat dilakukan. Perhatikan bahwa nada DTMF ini pada akhirnya akan diduplikasi juga, tetapi upaya yang diperlukan akan jauh lebih besar. Pada akhirnya, pusat pengalihan akan beralih ke masukan digital (dibandingkan analog), yang menghilangkan hampir semua phreaking.

Asal Mula Peretasan Komputer, Sekitar Tahun 1980

Pada tahun 1976, Apple merilis komputer pribadi Apple 1. Komputer ini tidak dikonfigurasi langsung dari kotaknya dan mengharuskan pembeli untuk menyediakan sejumlah komponen dan menghubungkannya ke motherboard. Hanya beberapa ratus perangkat ini yang dibuat dan dijual.

Pada tahun 1982, Commodore International merilis perangkat pesaingnya. Perangkat ini adalah Commodore 64, sebuah komputer pribadi yang dikonfigurasi sepenuhnya langsung dari kotaknya. Komputer ini dilengkapi keyboard-nya sendiri, dapat mendukung audio, dan bahkan dapat digunakan dengan layar multiwarna.

Commodore 64 terjual hampir 500.000 unit per bulan hingga awal 1990-an. Sejak saat itu, tren penjualan komputer pribadi terus meningkat dari tahun ke tahun selama beberapa dekade berikutnya. Komputer segera menjadi alat umum di rumah tangga maupun bisnis, dan mengambil alih tugas-tugas umum yang berulang, seperti mengelola keuangan, sumber daya manusia, akuntansi, dan penjualan.

Pada tahun 1983, Fred Cohen, seorang ilmuwan komputer Amerika, menciptakan virus komputer pertama. Virus yang ia tulis mampu membuat salinan dirinya sendiri dan dengan mudah menyebar dari satu komputer pribadi ke komputer pribadi lainnya melalui disket. Ia berhasil menyimpan virus di dalam program yang sah, menyembunyikannya dari siapa pun yang tidak memiliki akses kode sumber. Fred Cohen kemudian dikenal sebagai pelopor dalam keamanan perangkat lunak, menunjukkan bahwa mendeteksi virus dari perangkat lunak yang valid dengan algoritma hampir mustahil.

Beberapa tahun kemudian, pada tahun 1988, ilmuwan komputer Amerika lainnya bernama Robert Morris adalah orang pertama yang pernah menyebarkan virus yang menginfeksi komputer di luar laboratorium penelitian. Virus tersebut kemudian dikenal sebagai Morris Worm, dengan "worm" merupakan frasa baru yang digunakan untuk menggambarkan virus komputer yang dapat mereplikasi diri. Morris Worm menyebar ke sekitar 15.000 komputer yang terhubung ke jaringan dalam hari pertama peluncurannya.

Untuk pertama kalinya dalam sejarah, pemerintah AS turun tangan untuk mempertimbangkan peraturan resmi yang melarang peretasan. Kantor Akuntabilitas Pemerintah AS (GAO) memperkirakan kerugian yang disebabkan oleh virus ini mencapai $10.000.000. Robert menerima tiga tahun masa percobaan, empat ratus jam pelayanan masyarakat, dan denda $10.050. Ini menjadikannya peretas pertama yang dihukum di Amerika Serikat.

Saat ini, sebagian besar peretas tidak membuat virus yang menginfeksi sistem operasi, melainkan menargetkan peramban web. Peramban modern menyediakan sandboxing yang sangat tangguh yang membuat situs web sulit menjalankan kode yang dapat dieksekusi di luar peramban (pada sistem operasi host) tanpa izin pengguna yang eksplisit.

Meskipun peretas saat ini terutama menargetkan pengguna dan data yang dapat diakses melalui peramban web, terdapat banyak kesamaan dengan peretas yang menargetkan OS. Skalabilitas (melompat dari satu pengguna ke pengguna lain) dan kamuflase (menyembunyikan kode berbahaya di dalam program yang sah) adalah teknik yang digunakan dalam serangan terhadap peramban web. Saat ini, serangan sering kali berskala berdasarkan distribusi melalui email, media sosial, atau pesan instan. Beberapa peretas bahkan membangun jaringan situs web asli yang sah untuk mempromosikan satu situs web berbahaya.

Sering kali, kode berbahaya disembunyikan di balik antarmuka yang tampak sah. Serangan phishing (pencurian kredensial) terjadi di situs web yang terlihat dan terasa identik dengan situs media sosial atau perbankan. Plug-in peramban sering kali tertangkap mencuri data, dan terkadang peretas bahkan menemukan cara untuk menjalankan kode mereka sendiri di situs web yang bukan milik mereka.

Kebangkitan World Wide Web, Sekitar Tahun 2000

World Wide Web (WWW) muncul pada tahun 1990-an, tetapi popularitasnya mulai meroket pada akhir tahun 1990-an dan awal tahun 2000-an.

Pada tahun 1990-an, web hampir secara eksklusif digunakan sebagai sarana untuk berbagi dokumen yang ditulis dalam HTML. Situs web tidak memperhatikan pengalaman pengguna, dan sangat sedikit yang memungkinkan pengguna untuk mengirimkan masukan kembali ke server guna mengubah alur situs web. Gambar 1-4 menunjukkan situs web Apple.com dari tahun 1997 dengan data yang murni bersifat informasional.

Awal tahun 2000-an menandai era baru bagi internet karena situs web mulai menyimpan data yang dikirimkan pengguna dan mengubah fungsionalitas situs berdasarkan masukan pengguna. Ini merupakan perkembangan penting, yang kemudian dikenal sebagai Web 2.0. Situs web 2.0 memungkinkan pengguna untuk berkolaborasi satu sama lain dengan mengirimkan masukan mereka melalui Hypertext Transport Protocol (HTTP) ke server web, yang kemudian akan menyimpan masukan tersebut dan membagikannya dengan pengguna lain berdasarkan permintaan.

Ideologi baru dalam membangun situs web ini melahirkan media sosial seperti yang kita kenal sekarang. Blog, wiki, situs berbagi media berbasis Web 2.0, dan masih banyak lagi.

../_images/01-04-apple-website%5E1997%5Ehomepage.webp

Perubahan radikal dalam ideologi web ini menyebabkan web berubah dari platform berbagi dokumen menjadi platform distribusi aplikasi. Gambar 1-5 menunjukkan etalase Apple.com dari tahun 2007 tempat Anda dapat membeli berbagai barang. Perhatikan tautan akun di pojok kanan atas, yang menunjukkan bahwa situs web tersebut mendukung akun pengguna dan persistensi data. Tautan akun tersebut sudah ada di iterasi situs web Apple sebelumnya pada tahun 2000-an, tetapi pada tahun 2007 dipromosikan di kanan atas UX, alih-alih tautan di bagian bawah. Tautan tersebut mungkin masih eksperimental atau kurang dimanfaatkan sebelumnya.

../_images/01-05-apple-website%5E2007%5Estore-redesign.webp

Pergeseran besar dalam arah desain arsitektur situs web ini juga mengubah cara peretas menargetkan aplikasi web. Pada saat itu, upaya serius telah dilakukan untuk mengamankan server dan jaringan—dua vektor serangan utama bagi peretas dalam dekade terakhir. Dengan maraknya situs web yang menyerupai aplikasi, pengguna menjadi target yang sempurna bagi peretas.

Ini adalah pengaturan yang sempurna. Pengguna akan segera memiliki akses ke fungsionalitas penting melalui web. Komunikasi militer, transfer bank, dan lainnya, semuanya pada akhirnya akan dilakukan melalui aplikasi web (situs web yang beroperasi seperti aplikasi desktop). Sayangnya, sangat sedikit kontrol keamanan yang diterapkan pada saat itu untuk melindungi pengguna dari serangan yang menargetkan mereka. Lebih lanjut, edukasi mengenai peretasan atau mekanisme yang menjalankan internet sangat langka. Hanya sedikit pengguna internet awal di tahun 2000-an yang bahkan dapat mulai memahami teknologi dasar yang berfungsi untuk mereka.

Pada awal tahun 2000-an, serangan penolakan layanan (DoS) pertama yang dipublikasikan secara luas melumpuhkan Yahoo!, Amazon, eBay, dan situs-situs populer lainnya. Pada tahun 2002, plug-in ActiveX Microsoft untuk peramban berakhir dengan kerentanan yang memungkinkan pengunggahan dan pengunduhan berkas jarak jauh dipanggil oleh situs web dengan niat jahat. Pada pertengahan tahun 2000-an, para peretas secara rutin memanfaatkan situs web "phishing" untuk mencuri kredensial. Tidak ada kontrol yang diterapkan pada saat itu untuk melindungi pengguna dari situs web tersebut.

Kerentanan Cross-Site Scripting (XSS) yang memungkinkan kode peretas berjalan dalam sesi peramban pengguna di dalam situs web yang sah merajalela di seluruh web selama periode ini, karena vendor peramban belum membangun pertahanan untuk serangan semacam itu. Banyak upaya peretasan di tahun 2000-an terjadi akibat teknologi yang menggerakkan web dirancang untuk satu pengguna (pemilik situs web). Teknologi-teknologi ini akan runtuh ketika digunakan untuk membangun sistem yang memungkinkan berbagi data antar banyak pengguna.

Peretas di Era Modern, Sekitar 2015+

Tujuan membahas peretasan di era sebelumnya adalah untuk membangun fondasi yang dapat kita gunakan untuk memulai perjalanan kita dalam buku ini.

Dari analisis pengembangan dan kriptoanalisis mesin Enigma pada tahun 1930-an, kita memperoleh wawasan tentang pentingnya keamanan, dan upaya yang akan dilakukan pihak lain untuk membobol keamanan tersebut.

Pada tahun 1940-an, kita melihat kasus penggunaan awal untuk otomatisasi keamanan. Kasus khusus ini didorong oleh pertempuran yang sedang berlangsung antara penyerang dan pembela. Dalam hal ini, teknologi mesin Enigma telah berkembang pesat sehingga tidak dapat lagi dibobol secara andal oleh teknik kriptoanalisis manual. Alan Turing beralih ke otomatisasi untuk mengalahkan peningkatan keamanan tersebut.

Tahun 1950-an dan 1960-an menunjukkan kepada kita bahwa peretas dan pengutak-atik memiliki banyak kesamaan. Kita juga belajar bahwa teknologi yang dirancang tanpa mempertimbangkan pengguna dengan niat jahat akan menyebabkan teknologi tersebut pada akhirnya dibobol. Kita harus selalu mempertimbangkan skenario terburuk ketika merancang teknologi untuk diterapkan dalam skala besar dan di seluruh basis pengguna yang luas.

Pada tahun 1980-an, komputer pribadi mulai menjadi populer. Sekitar masa ini, kita mulai melihat munculnya para peretas yang kita kenal sekarang. Para peretas ini memanfaatkan kekuatan yang dimungkinkan oleh perangkat lunak, menyamarkan virus di dalam aplikasi yang sah, dan menggunakan jaringan untuk menyebarkan virus mereka dengan cepat.

Akhirnya, pengenalan dan adopsi World Wide Web yang cepat menyebabkan perkembangan Web 2.0, yang mengubah cara kita berpikir tentang internet. Alih-alih menjadi media untuk berbagi dokumen, internet menjadi media untuk berbagi aplikasi. Akibatnya, muncul jenis eksploitasi baru yang memanfaatkan pengguna, alih-alih jaringan atau server. Ini merupakan perubahan mendasar yang masih berlaku hingga saat ini, karena sebagian besar peretas saat ini telah beralih menargetkan aplikasi web melalui peramban, alih-alih perangkat lunak desktop dan sistem operasi.

Mari kita lompat ke tahun 2019, tahun saya mulai menulis buku ini. Pada saat penulisan ini, terdapat ribuan situs web di web yang didukung oleh perusahaan-perusahaan bernilai jutaan dan miliaran dolar. Faktanya, banyak perusahaan memperoleh seluruh pendapatan mereka dari situs web mereka. Beberapa contoh yang mungkin Anda kenal adalah Google, Facebook, Yahoo!, Reddit, Twitter, dll.

YouTube memungkinkan pengguna untuk berinteraksi satu sama lain, dan dengan aplikasi itu sendiri (lihat Gambar 1-6). Komentar, unggahan video, dan unggahan gambar semuanya didukung. Semua unggahan ini memiliki izin variabel yang memungkinkan pengunggah menentukan siapa konten tersebut dapat dilihat. Sebagian besar data yang dihosting bertahan secara permanen dan lintas sesi, dan beberapa fitur memiliki perubahan yang tercermin di antara pengguna secara hampir real-time (melalui notifikasi). Selain itu, sejumlah besar fitur penting dialihkan ke klien (peramban) alih-alih berada di server.

../_images/01-06-YouTube-own-by-Google.png

Beberapa perusahaan perangkat lunak desktop tradisional kini mencoba memindahkan jajaran produk mereka ke web, ke tempat yang kini dikenal sebagai cloud, yang merupakan jaringan server yang kompleks. Contohnya termasuk Adobe dengan Creative Cloud, sebuah penawaran berlangganan yang menyediakan Photoshop dan perangkat Adobe lainnya melalui web, dan Microsoft Office, yang menyediakan Word dan Excel, tetapi kini sebagai aplikasi web.

Karena banyaknya uang yang diinvestasikan dalam aplikasi web, taruhannya berada pada titik tertinggi yang pernah ada. Ini berarti aplikasi di web saat ini rentan untuk dieksploitasi, dan imbalan untuk mengeksploitasinya sangat tinggi.

Ini benar-benar salah satu era terbaik bagi para peretas dan insinyur yang mengutamakan keamanan. Pekerjaan untuk keduanya sangat dibutuhkan, dan berada di kedua sisi hukum.

Peramban telah menjadi jauh lebih canggih daripada 10 tahun yang lalu. Bersamaan dengan kemajuan ini, hadir pula sejumlah fitur keamanan baru. Protokol jaringan yang kita gunakan untuk mengakses internet juga telah berkembang.

Peramban masa kini menawarkan isolasi yang sangat kuat antara situs web dengan asal yang berbeda, mengikuti spesifikasi keamanan yang dikenal sebagai Kebijakan Asal yang Sama (SOP). Ini berarti bahwa situs web A tidak dapat diakses oleh situs web B meskipun keduanya dibuka secara bersamaan atau salah satunya disematkan sebagai iframe di dalam yang lain.

Peramban juga menerima konfigurasi keamanan baru yang dikenal sebagai Kebijakan Keamanan Konten (CSP). CSP memungkinkan pengembang situs web untuk menentukan berbagai tingkat keamanan, seperti apakah skrip dapat dieksekusi secara inline (dalam HTML). Hal ini memungkinkan pengembang web untuk lebih melindungi aplikasi mereka dari ancaman umum.

HTTP, protokol utama untuk mengirimkan lalu lintas web, juga telah meningkat dari perspektif keamanan. HTTP telah mengadopsi protokol seperti SSL dan TLS yang menerapkan enkripsi ketat untuk setiap data yang berjalan melalui jaringan. Hal ini membuat serangan man-in-the-middle sangat sulit dilakukan dengan sukses.

Sebagai hasil dari kemajuan dalam keamanan peramban ini, banyak peretas paling sukses saat ini sebenarnya menargetkan logika yang ditulis oleh pengembang yang berjalan di aplikasi web mereka. Alih-alih menargetkan peramban itu sendiri, jauh lebih mudah untuk berhasil membobol situs web dengan memanfaatkan bug dalam kode aplikasi. Untungnya bagi para peretas, aplikasi web saat ini jauh lebih besar dan lebih kompleks daripada aplikasi web di masa lalu.

Sering kali saat ini, sebuah aplikasi web terkenal dapat memiliki ratusan dependensi sumber terbuka, integrasi dengan situs web lain, dan beberapa basis data dari berbagai jenis, dan dilayani dari lebih dari satu server web di lebih dari satu lokasi. Berikut ini adalah jenis aplikasi web yang paling berhasil Anda manfaatkan, dan jenis aplikasi web inilah yang akan kami fokuskan di seluruh buku ini.

Singkatnya, aplikasi web saat ini jauh lebih besar dan lebih kompleks daripada pendahulunya. Sebagai peretas, Anda kini dapat berfokus membobol aplikasi web dengan mengeksploitasi bug logika dalam kode aplikasi. Seringkali bug ini muncul sebagai efek samping dari interaksi pengguna tingkat lanjut yang terdapat dalam aplikasi web.

Para peretas dekade terakhir memfokuskan sebagian besar waktu mereka untuk membobol server, jaringan, dan peramban. Peretas modern menghabiskan sebagian besar waktu mereka membobol aplikasi web dengan mengeksploitasi kerentanan yang terdapat dalam kode.

Ringkasan

Asal usul keamanan perangkat lunak dan asal usul peretas yang mencoba menerobos keamanan tersebut setidaknya telah ada sejak sekitar seratus tahun yang lalu. Perangkat lunak saat ini dibangun berdasarkan pelajaran yang dipelajari dari teknologi masa lalu, begitu pula keamanan perangkat lunak tersebut.

Para peretas di masa lalu menargetkan aplikasi secara berbeda dari yang mereka lakukan saat ini. Ketika satu bagian dari tumpukan aplikasi menjadi semakin aman, para peretas beralih untuk menargetkan teknologi baru yang sedang berkembang. Teknologi-teknologi baru ini seringkali tidak memiliki tingkat kontrol keamanan yang sama, dan hanya melalui uji coba dan kesalahan para insinyur dapat merancang dan menerapkan kontrol keamanan yang tepat.

Mirip dengan bagaimana situs web sederhana di masa lalu dipenuhi celah keamanan (khususnya, di tingkat server dan jaringan), aplikasi web modern menghadirkan area permukaan baru bagi penyerang, yang sedang dieksploitasi secara aktif. Konteks sejarah singkat ini penting karena menyoroti bahwa kekhawatiran keamanan saat ini terkait aplikasi web hanyalah satu tahap dalam proses siklus. Aplikasi web di masa depan akan lebih aman, dan peretas kemungkinan akan beralih ke permukaan serangan baru (misalnya, RTC atau soket web).

Tip

Setiap teknologi baru memiliki permukaan serangan dan kerentanannya sendiri. Salah satu cara untuk menjadi peretas yang handal adalah selalu mengikuti perkembangan teknologi baru—teknologi-teknologi ini seringkali memiliki celah keamanan yang belum dipublikasikan atau ditemukan di internet.

Sementara itu, buku ini akan menunjukkan cara membobol dan mengamankan aplikasi web modern. Namun, teknik keamanan ofensif dan defensif modern hanyalah salah satu aspek pembelajaran yang harus Anda peroleh dari buku ini. Pada akhirnya, mampu menemukan solusi sendiri untuk masalah keamanan adalah keterampilan paling berharga yang dapat Anda miliki sebagai seorang profesional keamanan. Jika Anda dapat memperoleh keterampilan berpikir kritis dan pemecahan masalah terkait keamanan dari bab-bab selanjutnya, maka Anda akan mampu menonjol di atas rekan-rekan Anda ketika eksploitasi baru atau tidak biasa ditemukan—atau mekanisme keamanan yang sebelumnya tidak terlihat menghalangi Anda.

Bagian I. Pengintaian

Alih-alih ikhtisar teknis, yang dapat Anda temukan di beberapa bagian dalam Web Application Security, saya pikir akan lebih baik untuk memulai bagian buku ini dengan ikhtisar filosofis.

Untuk mengeksploitasi aplikasi web secara efisien, dibutuhkan beragam keterampilan. Di satu sisi, seorang peretas membutuhkan pengetahuan tentang protokol jaringan, teknik pengembangan perangkat lunak, dan kerentanan umum yang ditemukan di berbagai jenis aplikasi. Namun di sisi lain, peretas juga perlu memahami aplikasi yang mereka targetkan. Semakin mendalam pengetahuan ini, semakin baik dan aplikatif aplikasi tersebut.

Peretas harus memahami tujuan aplikasi dari perspektif fungsional. Siapakah penggunanya? Bagaimana aplikasi tersebut menghasilkan pendapatan? Untuk tujuan apa pengguna memilih aplikasi tersebut dibandingkan pesaing? Siapakah pesaingnya? Fungsionalitas apa yang terdapat dalam aplikasi tersebut?

Tanpa pemahaman mendalam tentang aplikasi target dari perspektif nonteknis, sebenarnya sulit untuk menentukan data dan fungsionalitas apa yang penting. Misalnya, aplikasi web yang digunakan untuk penjualan mobil mungkin menganggap penyimpanan objek yang mewakili mobil yang dijual (harga, inventaris, dll.) sebagai data yang sangat penting. Namun, situs web hobi tempat para penggemar mobil dapat memposting dan berbagi modifikasi yang dilakukan pada mobil mereka sendiri mungkin menganggap akun pengguna lebih berharga daripada inventaris yang tercantum di profil pengguna.

Hal yang sama berlaku ketika berbicara tentang fungsionalitas, alih-alih hanya data. Banyak aplikasi web menghasilkan pendapatan dengan berbagai cara, alih-alih hanya mengandalkan satu aliran pendapatan saja.

Platform berbagi media dapat menawarkan langganan bulanan, menayangkan iklan, dan menawarkan unduhan berbayar. Manakah di antara keduanya yang paling berharga bagi perusahaan? Bagaimana penggunaan fungsi monetisasi ini berbeda dari perspektif kegunaan? Berapa banyak pengguna yang berkontribusi pada pendapatan setiap aliran?

Pada akhirnya, pengintaian aplikasi web adalah tentang mengumpulkan data dan membangun model yang menggabungkan detail teknis dan fungsional aplikasi web sedemikian rupa sehingga memungkinkan Anda untuk memahami sepenuhnya tujuan dan penggunaan aplikasi web. Tanpa salah satu atau yang lain, peretas tidak dapat menargetkan serangan mereka dengan tepat. Jadi, secara filosofis, pengintaian aplikasi web adalah tentang menghasilkan pemahaman yang lebih mendalam tentang aplikasi web target. Dan dalam model filosofis ini, informasi adalah kunci—terlepas dari apakah bersifat teknis atau tidak.

Karena ini adalah buku teknis, sebagian besar fokus kita akan tertuju pada menemukan dan menganalisis komponen aplikasi web dari perspektif teknis. Namun, kita juga akan membahas pentingnya analisis fungsional serta beberapa teknik pengorganisasian informasi.

Selain itu, saya mohon Anda untuk melakukan riset nonteknis sendiri ketika ada peluang pengintaian di masa mendatang.