MENJELASKAN KEAMANAN APLIKASI WEB

Menjelaskan Keamanan Aplikasi Web 
Aplikasi web merupakan suatu lingkungan yg terstruktur pada bentuk program komputer yang memungkinkan pengunjung website memasukkan serta menampilkan data berdasarkan dan ke suatu database server melalui internet menggunakan memakai web browser. Kemudian data ditampilkan ke pengguna menjadi berita yg didapatkan secara bergerak maju sang aplikasi web melalui web server. 

Ciri serta Sifat Aplikasi Web
Menurut Roger S. Pressman dalam bukunya Software Engineering A Practitioner’s Approach dikatakan suatu pelaksanaan web memiliki disparitas dengan aplikasi lainnya, lantaran memiliki sifat dan karakteristik-karakteristik sebagai berikut:

1. Network Intensive
Network intensive Sifat dasar berdasarkan suatu aplikasi web adalah terletak dalam suatu jaringan (internet, intranet atau extranet) dimana pelaksanaan web harus melayani bermacam-macam kebutuhan berdasarkan penggunanya.

Network intensive Sifat dasar berdasarkan suatu aplikasi web adalah terletak dalam suatu jaringan (internet, intranet atau extranet) dimana pelaksanaan web harus melayani bermacam-macam kebutuhan berdasarkan penggunanya.

2. Content Driven
Fungsi primer dari aplikasi web adalah buat menampilkan kabar berupa teks, gambar, audio, dan video pada para penggunanya.

3. Continuous Evolution
Aplikasi web mengalami perubahan secara terus-menerus (continuous evolution), terutama dalam bagian isi (keterangan) menurut aplikasi tadi.

4. Document-Oriented
Halaman-laman web yang bersifat statis akan tetap terdapat meskipun sudah terdapat teknik pemrograman web menggunakan memakai bahasa pemrograman java atau yg lainnya.

5. Immediacy 
Aplikasi web mempunyai ciri kesiapan (immediacy), yang berarti pelaksanaan web tadi harus sudah siap serta lengkap buat ditampilkan ke publik dalam jarak waktu beberapa hari atau minggu saja, dan hal ini nir ditemukan pada perangkat lunak lainnya.

6. Security
Berkembangnya pelaksanaan web serta Internet menyebabkan konvoi sistem warta buat menggunakannya menjadi basis. Banyak sistem yg tidak terhubung ke Internet namun permanen menggunakan basis aplikasi web menjadi basis buat sistem informasinya yg dipasang pada jaringan Intranet. Untuk itu, keamanan sistem fakta yg berbasis aplikasi web serta teknologi Internet bergantung pada keamanan sistem aplikasi web tersebut.

Keamanan dibutuhkan buat melindungi isi dari aplikasi web yg sensitif dan menyediakan proses pengiriman data yang aman, oleh karenanya keamanan aplikasi wajib diterapkan dalam seluruh infrastruktur yg mendukung web aplikasi, termasuk pula web aplikasi itu sendiri.

Arsitektur sistem pelaksanaan web terdiri berdasarkan 2 sisi: server dan klien. Keduanya dihubungkan dengan jaringan personal komputer (computer network). Selain menyajikan data-data dalam bentuk tidak aktif, pelaksanaan bisa menyajikan data pada bentuk dinamis menggunakan menjalankan program. Program ini bisa dijalankan di server (misal menggunakan CGI, servlet) dan pada klien (applet, Javascript).

7. Aesthetics
Selain sisi teknis, estetis pula merupakan suatu hal yang wajib diperhatikan pada sebuah pelaksanaan web, lantaran tampilan serta keindahan merupakan salah satu hal yg utama, yg digunakan sebagai daya tarik pengunjung.

Kualitas Aplikasi Web
Kualitas yg baik berdasarkan suatu pelaksanaan web bisa diukur melalui beberapa karakteristik, diantaranya, usability, functionality, reliability, efficiency, dan maintainability [6]. Gambar 2 memperlihatkan faktor-faktor yang membantu pengembang dalam merancang serta menciptakan pelaksanaan web yg dapat diterima serta memenuhi kebutuhan penggunanya yg begitu beragam.

Gambar Faktor Kualitas Aplikasi Web

Arsitektur Aplikasi Web
Menurut Krutchen sebuah arsitektur pelaksanaan web dibangun dari dalam empat buah tinjauan, yaitu Logical, Process, Physical serta Development View, masing-masing tinjauan tersebut memiliki pengertian yang berbeda serta seluruh tinjauan tadi harus diperiksa buat memperoleh pemahaman yang baik tentang pelaksanaan web secara keseluruhan. Untuk menambahkan sebuah kebutuhan khusus pada pelaksanaan web, seperti keamanan dapat ditambahkan tinjauan lainnya pada arsitektur aplikasi web.

Gambar Logical View dalam Aplikasi Web

1. Logical View 
Ditinjau secara logis, aplikasi web merupakan abstraksi dari sebuah sistem yang mempunyai domain perkara eksklusif. Sebuah aplikasi digambarkan sebagai interaksi antara komponen-komponen yang tidak selaras. Pada level arsitektur, sebuah aplikasi web dapat digolongkan ke dalam bentuk dua-tier atau menjadi 3-tier (misalnya yang ditunjukkan pada Gambar)

Gambar Tinjauan Model Arsitektur 4+1

Presentation Logic tier bertanggung jawab untuk melakukan hubungan antara komponen-komponen buat menghasilkan tampilan user. Komponen dalam bagian ini hanya berinteraksi menggunakan komponen yang berada pada Business Logic tier. Komponen yang masih ada pada Business Logic tier berisi seluruh pengetahuan yg dibutuhkan buat melakukan proses modifikasi komponen data yg masih ada pada Databases tier. Databases tier berisi semua komponen data yang digunakan buat menyediakan penyimpanan data untuk data serta informasi menurut suatu aplikasi web.

Arsitektur 3-tierd menyediakan perhatian lebih terhadap pembagian permasalahan. Pada arsitektur dua-tierd bagian business logic dan databases disatukan. Keuntungan dari arsitektur 3-tierd merupakan sistem database dapat dengan gampang dilakukan perubahan tanpa mensugesti bagian business logic.

2. Development View
Development view serius pada pemetaan antara konsep komponen logical view ke implementasi sebenarnya. Development view dalam suatu aplikasi web terdiri menurut:
a. Struktur link menurut laman aplikasi 
b. Teknik user session management
c. Teknologi laman pelaksanaan web 

3. Physical View
Physical view menggambarkan pemetaan antara komponen yang masih ada pada development view ke lingkungan aplikasi web diletakkan. Aplikasi web memiliki lingkungan yang sangat kompleks, yg terdiri berdasarkan komponen-komponen menjadi berikut:
a. Web browsers
b. Web servers
c. Application servers
d. Database
e. Object terdistribusi (misalnya, Java Beans)

Pengguna aplikasi web memakai web browser sebagai interface buat dapat mengakses fungsi menurut suatu aplikasi web. Sebuah browser mengirimkan permintaan (request) ke web server, mengirim-nya menggunakan memakai protokol HTTP. Sebuah web server menaruh permintaan tersebut jika permintaan tersebut bisa dipenuhi secara eksklusif, menggunakan melibatkan proses yang masih ada dalam application server. 

Seperti yg terlihat pada Gambar, jika pengguna ingin merogoh data yang masih ada dalam databases, maka application server harus dilibatkan. Akhirnya web server menggunakan hasil yang sudah diperoleh berdasarkan application server menghasilkan halaman HTML serta mengembalikannya kepada pengguna pelaksanaan web.

Gambar Physical View dari Aplikasi Web

Protokol Web
Penetration testing merupakan teknik pengujian yg memanfaatkan kemampuan protokol di web, buat itu perlu pengenalan terhadap protokol yang digunakan dalam pelaksanaan web. Aplikasi-aplikasi berbasis web, biasanya menggunakan protokol: HTTP (Hyper Text Transfer Protocol) atau HTTPS (HTTP over Socket Secure Layer), menggunakan port yang biasa digunakan adalah port 80 (HTTP) dan port 443 (HTTPS). 

HTTP
Setiap browser web serta server harus berkomunikasi melalui protokol ini,. Ada tiga versi protokol HTTP ini, dimana ketiganya mempunyai kesamaan struktur dasar. HTTP merupakan protokol yg berkerja menggunakan metode request dan respon, yang bisa ditunjukan dalam pada Gambar.

Gambar Metode Request & Respon HTTP

Untuk mengenal lebih mendalam, masih ada beberapa metode yang dapat dilakukan sebagai request pada protocol HTTP. Metode tersebut antara lain: connect, delete, get, head, option, post, put, serta trace. Metode di atas difasilitasi sang protokol HTTP 1.1. Untuk lebih jelas bisa dilihat pada Tabel.

Respon HTTP
Sebuah permintaan HTTP menurut sebuah klien ditangani sang server dan direspon oleh server tadi. Untuk merespon, server akan mengirimkan kembali serangkaian komponen pesan yang bisa mengkategorikan sebagai berikut : 
a. Kode respon— Angka yang bertalian dalam sebuah tipe asosiasi respon.
b. Lokasi awal (Header fields)—fakta tambahan tentang respon. 
c. Data—Isi dari respon. 

Melalui tiga komponen tadi, sebuah browser klien bisa tahu respon berdasarkan server dan berinteraksi menggunakan server tadi. 

Serangan Keamanan Aplikasi Web
Dunia internet ketika ini mengenal poly jenis serangan yg dilakukan dan seringkali merugikan. Jenis-jenis agresi terjadi selama ini dapat mengkategorikan pada empat kategori dari kriteria sasaran serangan yaitu:
1. Interruption: agresi atas ketersediaan informasi. Penyerang mengganggu menggunakan melakukan penghentian genre informasi kepada klien.
2. Interception: agresi atas kerahasiaan. Mengakses kabar yg bukan sebagai haknya adalah tujuan berdasarkan agresi ini. Informasi dapat digunakan buat hal-hal yg merugikan pihak lain.
3. Modification: serangan atas integrasi suatu warta. Mengakses fakta serta bisa jua membarui isi kabar sebagai target serangan ini.
4. Fabrication: agresi terhadap proses autentifikasi. Membangkitkan objek palsu yang dikenal menjadi bagian berdasarkan sistem adalah tujuan dari serangan jenis. 

Gambar Jenis – jenis Serangan

Dari sisi motif tindakan, serangan yang terjadi bisa mengkategorikan dari jenis tindakan yg dilakukan, dan dikelompokkan menjadi sebagai berikut:

A. Ancaman Pasif
Serangan yang dilakukan lebih bersifat mengamati konduite sasaran, dalam termin ini penyerang berusaha mengenali setiap bagian target. Tindakan yg dilakukan antara lain:
a. Melepaskan serangkaian pesan ke target buat mengetahui respon sasaran, serta menerima warta awal mengenai sasaran. Deteksi port merupakan keliru satu misalnya.
b. Analisa trafik, dilakukan buat mengetahui pola trafik data pada target.

B. Ancaman aktif
Serangan yg dilakukan sudah ditujukan untuk berdampak langsung dalam target. Beberapa tindakan serangan yg poly dikenal merugikan merupakan contoh dari tindakan ini. Berikut beberapa diantaranya: 
a. Masquerade, penyerangan dikenali menjadi bagian menurut alias identitas yang berwenang.
b. Reply
c. Modifikasi isi pesan (Mengubah pesan layanan yang diberikan sang sistem)
d. Denial of service (Menghilangkan kemampuan sistem buat memberikan layanan).

Aplikasi Web Joomla
Joomla merupakan keliru satu Content Management System (CMS) yg paling terkenal tersedia, gampang digunakan, sebagai akibatnya mempunyai keuntungan, yaitu pengguna-nya nir membutuhkan keterampilan serta kemampuan teknis yang tinggi buat memasak serta mengatur aplikasi web tersebut. Selain itu aplikasi web Joomla adalah sebuah CMS yang mempunyai banyak fitur, dan hal inilah yang menyebabkan pelaksanaan web Joomla banyak digunakan sebagai website suatu perusahaan atau organisasi, baik yang dipakai buat keperluan usaha maupun pendidikan.

Joomla berdasarkan pada CMS yang bebas dan terbuka (free open source) ditulis dengan memakai bahasa pemrograman PHP dan basis data MySQL, buat keperluan di internet juga intranet. Joomla pertamakali dirilis menggunakan versi 1.0.0. Fitur-fitur utama Joomla antara lain merupakan manajemen pengguna, manajemen konten, layanan web (web services) serta lain sebagainya. Joomla jua menggunakan lisensi GNU General Public License (GPL).

Gambar Model View Controller (MVC) Joomla

Secara garis besar Joomla terdiri berdasarkan tiga elemen dasar, yaitu server web (web server), skrip PHP serta basis data MySQL. Server web diasumsikan terhubung menggunakan Internet/Intranet yang berfungsi sebagai penyedia layanan pelaksanaan web. Skrip PHP terdiri berdasarkan kode program dalam bahasa PHP, dan basis data merupakan loka penyimpanan konten. Joomla menggunakan Apache dan Microsoft IIS menjadi server web, serta MySQL buat basis datanya. Paket Joomla terdiri berdasarkan beberapa bagian yg terpisah dan dalam bentuk modul yang sangat fleksibel, yang dapat dengan gampang dikembangkan serta diintegrasikan. Gambar 8 merupakan MVC menurut pelaksanaan web Joomla.

Threat Modeling 
Threat Modeling adalah teknik yg cukup terkenal dipakai buat membantu desainer sistem mengetahui ancaman keamanan yang mungkin ada pada suatu sistem atau aplikasi web-nya. Oleh karenanya pemodelan ancaman bisa dijadikan sebuah ukuran buat memperkirakan resiko yang mungkin terjadi pada sebuah pelaksanaan web. Dalam kenyataannya pemodelan ancaman memungkinkan desainer pada membuatkan strategi buat mengatasi masalah dalam bagian menurut pelaksanaan yg gampang diserang (vulnerabilities) serta membantu desainer agar tetap penekanan pada pengerjaan kebutuhan sistem aplikasi web yg terbatas oleh asal daya, dimana aplikasi web tadi dituntut segera terselesaikan.

Selain itu masih ada pula kelebihan dan kekurangan yang dimiliki sang teknik pengujian aplikasi web yang dilakukan dengan mengunakan teknik pemodelan ancaman, merupakan menjadi berikut:

A. Kelebihan 
a. Merupakan teknik yang dilihat berdasarkan perspektif seorang penyerang (attacker) sistem aplikasi web.
b. Fleksibel 
c. Dilakukan dalam permulaan SDLC

B. Kekurangan 
a. Relatif merupakan teknik baru 
b. Pemodelan ancaman yg baik nir dilakukan secara otomatis sang perangkat lunak

Selain itu pemodelan ancaman adalah suatu metode yang digunakan buat mengenali atau mengetahui ancaman (Vulnerability), serangan (attack), dan kelemahan (vulnerabilities) yg herbi pelaksanaan web. Pembentukan pemodelan ancaman dibagi ke pada beberapa tahap:

Identify Security Objectives
Tahap ke-1: identify security objectives, dilakukan buat mengetahui tujuan/kebutuhan keamanan aplikasi web, hal ini digunakan buat membantu memilih kegiatan pemodelan ancaman, dan buat memilih berapa poly bisnis pengujian yg perlu dilakukan. 

Create Application Overview
Tahap ke-2: Create Application Overview, dilakukan buat mengetahui karakteristik dan aktor dalam pelaksanaan web, hal ini dipakai buat membantu mengenali ancaman yang terdapat. 

Decompose Application
Tahap ke-3: Decompose Application, dilakukan buat mengetahui mekanisme aplikasi web secara lebih jelasnya, hal ini jua digunakan buat membantu mengenali ancaman yg terdapat. 

Identify Threats 
Tahap Ke-4: Identify Threat, dilakukan buat mengenali ancaman yg ada, yaitu menggunakan menggunakan tahap ke-dua dan ke-3. 

Identify Vulnerabilities
Tahap Ke-lima Identify Vulnerabilities, dilakukan buat mengetahui kelemahan yg masih ada dalam pelaksanaan web, hal ini digunakan buat membantu mengenali area yang terjadi kesalahan.

Gambar Proses Pembentukan Threat Modeling

Metodologi OWASP
Open Web Application Security Project (OWASP) merupakan metodologi yang digunakan untuk membantu melakukan pengukuran (assessment), audit atau penetration testing terhadap pelaksanaan Web. Metodologi OWASP memiliki poly keunggulan, karena pada perkembangannya OWASP selalu mengikuti perkembangan keamanan dari aplikasi web itu sendiri. Selain itu OWASP tidak terfokus hanya pada perangkat bantu, sebagai akibatnya memberikan kesempatan kepada pengguna buat think out side of the box.

OWASP Testing Framework
Menurut OWASP untuk membangun aplikasi web yg kondusif wajib dilakukan proses pengujian dalam setiap tahap pengembangan aplikasi atau aplikasi development live cycle (SDLC) [4], yg terdiri dari:
a. Sebelum pengembangan 
b. Selama termin definisi dan desain 
c. Selama pembangunan 
d. Selama deployment 
e. Ketika pemeliharaan dan operasional 

Tahap 1: Sebelum Pengembangan
Sebelum proses pembangunan aplikasi web dimulai maka harus dilakukan hal berikut:
a. Pengujian baku, mekanisme serta kebijakan keamanan yg akan digunakan selama pengembangan pelaksanaan web.
b. Membuat metrik dan kriteria pengukuran 
c. Meninjau proses SDLC

Tahap 1A: Tinjauan Kebijakan serta Standar 
Pada termin ini pastikan bahwa kebijakan, standar dan dokumentasi yang dipakai sempurna. Dokumentasi merupakan hal yang sangat krusial, lantaran menaruh pedoman kepada tim pengembang selama melakukan proses pembangunan pelaksanaan web.

Standar dan kebijakan yang akan dipakai tergantung pada teknologi yg akan dipakai, lantaran nir ada baku dan kebijakan yg dapat menanggulangi setiap situasi pengembangan pelaksanaan web. Sebagai contoh, bila aplikasi yg akan dibangun memakai teknologi java, maka diperlukan dokumentasi tentang standar keamanan buat pengkodean bahasa pemrograman java. Jika pelaksanaan memakai kriptografi maka diharapkan dokumentasi mengenai standar kriptografi. 

Tahap1B: Membuat Ukuran dan Kriteria Metrik 
Sebelum pembangunan pelaksanaan web dimulai, maka harus ditentukan serta direncanakan ukuran program. Penentuan berukuran kriteria bermanfaat buat menentukan kualitas aplikasi web yang dibuat, serta juga bisa diprediksi dampak yang mungkin terjadi dalam proses dan produk yang dihasilkan, sehingga bisa segera dibuat keputusan tentang perubahan proses untuk meminimalkan terjadinya kerusakan yg terjadi. 

Tahap dua: Selama Definisi serta Desain 
Tahap 2A: Tinjauan Kebutuhan Keamanan
Kebutuhan keamanan merupakan keperluan pelaksanaan web yg dipandang menurut perspektif keamanan. Pengujian terhadap kebutuhan keamanan sangat diharapkan buat melihat apakah masih ada hal yg belum terpenuhi antara kebutuhan keamanan baku dengan definisi kebutuhan yg sudah dibentuk. Sebagai model kebutuhan keamanan dalam aplikasi web merupakan, pengunjung diharuskan terdaftar sebelum mereka bisa mengakses informasi-kabar yang tersimpan dalam pelaksanaan web tersebut. Menurut OWASP mekanisme kebutuhan sistem keamanan dalam aplikasi web terdiri dari:

a. User Management
Aspek keamanan dalam aplikasi web yg mengatur pengguna dalam melakukan manajemen atau pengaturan terhadap fasilitas yg tersedia.

b. Authentication
Aspek ini berhubungan dengan metoda buat menyatakan bahwa keterangan benar -benar asli, orang yg mengakses atau memberikan berita merupakan benar -benar orang yg dimaksud, atau server yg dihubungi adalah betul-betul server yg asli.

c. Authorization 
Konsep keamanan menurut aplikasi web yg memperbolehkan pengguna memakai sumber daya (resources) apabila telah diizinkan sang pemilik resources tersebut. Salah satu bagian menurut otorisasi adalah akses kontrol. Aspek ini berhubungan dengan cara pengaturan akses kepada fakta. Hal ini biasanya berhubungan dengan klasifikasi data (public, private, confidential, top secret) & pengguna (guest, admin, top manager, serta sebagainya), prosedur autentikasi serta pula privacy. Access control sering dilakukan dengan memakai kombinasi user id/password atau dengan memakai mekanisme lain (misalnya kartu, biometrics).

d. Data Confidentiality serta Privacy
Inti utama aspek privacy atau confidentiality adalah usaha untuk menjaga warta berdasarkan orang yg nir berhak mengakses. Privacy lebih ke arah data-data yg sifatnya eksklusif sedangkan confidentiality umumnya herbi data yang diberikan ke pihak lain untuk keperluan eksklusif (contohnya sebagai bagian dari registrasi sebuah layanan) dan hanya diperbolehkan buat keperluan eksklusif tadi. Contoh hal yg berhubungan dengan privacy merupakan e-mail seseorang pengguna nir boleh dibaca oleh administrator. Contoh kabar confidential merupakan data-data yg sifatnya eksklusif (seperti nama, loka lepas lahir, number keamanan, kepercayaan , status perkawinan, penyakit yg pernah diderita, angka kartu kredit, serta sebagainya) merupakan data-data yang ingin pada perlindungan penggunaan serta penyebaran-nya. Contoh lain menurut confidentiality adalah daftar pelanggan menurut sebuah Internet Service Provider (ISP).

Serangan terhadap aspek privacy contohnya merupakan bisnis buat melakukan penyadapan (menggunakan program sniffer). Usaha-bisnis yang dapat dilakukan buat menaikkan privacy serta confidentiality adalah menggunakan memakai teknologi kriptografi (dengan enkripsi dan dekripsi). Informasi tentang privacy yang lebih rinci dapat diperoleh berdasarkan situs Electronic Privacy Information Center (EPIC) serta Electronic Frontier Foundation (EFF).

e. Integrity 
Aspek ini menekankan bahwa fakta tidak boleh diubah tanpa se-biar pemilik berita. Adanya virus, Trojan horse, atau pemakai lain yang mengganti fakta tanpa ijin adalah contoh kasus yang harus dihadapi. Sebuah e-mail bisa saja ditangkap (intercept) pada tengah jalan, diubah isinya (altered, tampered, modified), lalu diteruskan ke alamat yg dituju. Dengan kata lain, integritas berdasarkan kabar telah nir terjaga. Penggunaan enkripsi dan digital signature, contohnya, bisa mengatasi kasus ini.

f. Accountability
Aspek keamanan dalam aplikasi web yang menekankan apakah fasilitas yg diberikan telah sesuai dengan kebutuhan pengguna.

g. Session Management
Konsep keamanan aplikasi web yg mengatasi seluruh kasus yang herbi pengguna mulai dari proses autentikasi sampai menggunakan pengguna meninggalkan pelaksanaan web.

h. Transport Security 
Konsep keamanan pada aplikasi web yang diterapkan buat mengatasi masalah yg herbi pengangkutan (transport) data yg sensitif yang disediakan oleh aplikasi web, seperti session ID.

i. Tiered System Segregation 
Aspek keamanan pada aplikasi web yang menekankan dalam keamanan pemisahan aset diantara penggunanya.

Tahap 2B: Tinjauan Desain dan Arsitektur 
Tinjauan dokumen desain serta arsitektur aplikasi web bermanfaat buat memastikan bahwa desain serta arsitektur yg sudah dibuat telah menerapkan menggunakan tepat prosedur keamanan yang sudah didefinisikan.

Tahap 2C: Membuat serta Meninjau Model UML 
Setelah tahap desain dan arsitektur terselesaikan dibuat, maka dilakukan pembuatan dan peninjauan terhadap Unified Modeling Language (UML) yg bermanfaat untuk mendeskripsikan bagaimana kerja pelaksanaan web.

Tahap 2D: Membuat dan Meninjau Pemodelan Ancaman 
Setelah proses peninjauan desain, arsitektur serta pelukisan UML dilakukan, lalu selanjutnya dikerjakan membuat pemodelan ancaman, menggunakan cara membuat skenario nyata mengenai pemodelan ancaman yg mungkin terjadi pada aplikasi web, menganalisis desain serta arsitektur buat meyakinkan apakah skenario ancaman yg dilakukan dapat ditangani oleh desain dan arsitektur yang terdapat, jika nir dapat ditanggulangi maka perlu ditinjau pulang desain serta arsitektur buat dilakukan perubahan.

Tahap 3: Selama Pengembangan 
Pengembangan merupakan implementasi dari desain yg sudah dibuat, maka pada termin ini dilakukan proses pembuatan aplikasi menurut pada desain yg ada serta pedoman yg berisi fakta mengenai baku, kebijakan, dan mekanisme yang telah ditentukan sebelumnya.

Tahap 3A: Code Walkthroughs
Code Walkthroughs dilakukan sang tim keamanan yg berguna buat tahu prosedur, nalar, layout serta struktur menurut kode yang membentuk aplikasi web yang sudah dibuat oleh tim pengembang.

Tahap 3B: Peninjauan Kode
Setelah diketahui struktur kode yang menciptakan aplikasi web, maka selanjutnya penguji membandingkan struktur kode tadi dengan kode keamanan sebenarnya. Peninjauan kode secara statik dapat dilakukan menggunakan membandingkan kode yang sudah dibentuk menggunakan sekumpulan kriteria baku keamanan aplikasi web, diantaranya:
a. Kebutuhan usaha buat availability, confidentiality, dan integrity.
b. Kriteria OWASP Top 10 
c. Konflik spesifik yang berhubungan dengan bahasa pemrograman serta framework yg digunakan. Seperti Scarlet paper buat PHP serta Microsoft Secure buat ASP.net.
d. Beberapa kebutuhan spesifik industri, misalnya Sarbanes-Oxley 404, COPPA, ISO 17799, APRA, HIPAA, panduan Visa Merchant atau anggaran-aturan standar industri lainnya.

Tahap 4: Selama Deployment
Tahap 4A: Application Penetration Testing
Setelah melakukan pengujian terhadap requirement, menganalisis desain serta melakukan code review, maka hal terakhir yang dilakukan adalah penetrasi testing buat menilik serta meyakinkan tidak ada kesalahan yang terjadi dalam aplikasi web yang telah dibuat.

Tahap 4B: Configuration Management Testing
Configuration Management Testing merupakan bagian berdasarkan penetration testing yg bermanfaat buat menilik apakah infrastruktur serta desain yg ada sudah di terapkan secara aman.

Tahap 5: Maintenance dan Operations
Tahap 5A: Operational Management Reviews
Pada bagian ini dilakukan proses peninjauan terhadap manajemen operasional dalam bagian aplikasi serta infrastruktur.

Tahap 5B: Periodic Health Checks
Secara terpola pemeriksaan keadaan keamanan wajib dilakukan dalam bagian aplikasi maupun infrastruktur buat memastikan nir terdapat resiko keamanan baru yg terjadi serta buat memastikan apakah perlu dilakukan perubahan terhadap level keamanan yang dipakai.

Tahap 5C: Ensure Change Verification 
Setelah setiap perubahan yang akan dilakukan sudah disetujui, maka dilakukan pembuktian untuk menetapkan adanya perubahan terhadap level keamanan. Gambar 10 menampakan SDLC testing workflow dari metodologi OWASP. 

Gambar OWASP Testing Framework Work Flow

Comments