Pendeteksian Celah Keamanan SSL TLS Menggunakan Android
PENDETEKSIAN CELAH KEAMANAN SSL/TLS MENGGUNAKAN
ANDROID
SKRIPSI
ERWIN H SITORUS
101402091
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
2016
Universitas Sumatera Utara
PENDETEKSIAN CELAH KEAMANAN SSL/TLS MENGGUNAKAN
ANDROID
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Teknologi Informasi
ERWIN H SITORUS
101402091
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
2016
Universitas Sumatera Utara
ii
PERSETUJUAN
Judul
: PENDETEKSIAN CELAH KEAMANAN SSL/TLS
MENGGUNAKAN ANDROID
Kategori
: SKRIPSI
Nama
: ERWIN H SITORUS
Nomor Induk Mahasiswa
: 101402091
Program Studi
: S1 TEKNOLOGI INFORMASI
Departemen
: TEKNOLOGI INFORMASI
Fakultas
: ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI
UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 2
Pembimbing 1
Romi Fadillah Rahmat, B.Comp.Sc M.Sc
Dani Gunawan, ST, MT
NIP. 19860303 201012 1 004
NIP. 19820915 201212 1 002
Diketahui/disetujui oleh
Program Studi S1 Teknologi Informasi
Ketua,
Muhammad Anggia Muchtar, ST., MM.IT
NIP. 19800110 200801 1 010
Universitas Sumatera Utara
iii
PERNYATAAN
PENDETEKSIAN CELAH KEAMANAN SSL/TLS
MENGGUNAKAN ANDROID
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 28 Februari 2016
Erwin H Sitorus
101402091
Universitas Sumatera Utara
iv
UCAPAN TERIMA KASIH
Puji dan syukur penulis sampaikah kehadirat Tuhan Yang Maha Esa yang telah
memberikan rahmat serta restu-Nya sehingga penulis dapat menyelesaikan skripsi ini
sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi.
Pertama, penulis ingin mengucapkan terima kasih kepada Bapak Dani Gunawan, ST
,MT selaku pembimbing pertama dan Bapak Romi Fadillah Rahmat, B.Comp.Sc.
M.Sc selaku pembimbing kedua yang telah membimbing penulis dalam penelitian
serta penulisan skripsi ini. Tanpa inspirasi serta motivasi yang diberikan dari kedua
pembimbing, tentunya penulis tidak akan dapat menyelesaikan skripsi ini. Penulis
juga mengucapkan terima kasih kepada Bapak Dedy Arisandi, ST. M.Kom sebagai
dosen pembanding pertama dan Bapak Ainul Hizriadi, ST.M.Kom sebagai dosen
pembanding kedua yang telah memberikan masukan serta kritik yang bermanfaat
dalam penulisan skripsi ini. Ucapan terima kasih juga ditjukan kepada semua dosen
serta semua pegawai pada program studi S1 Teknologi Informasi, yang telah
membantu serta membimbing penulis selama proses perkuliahan.
Penulis tentunya tidak lupa berterima kasih kepada kedua orang tua penulis, Bapak
penulis H. Sitorus, serta S. Napitupulu yang telah membesarkan penulis dengan sabar
dan penuh cinta. Penulis juga berterima kasih kepada seluruh anggota keluarga penulis
yang namanya tidak dapat disebutkan satu satu.
Terima kasih juga penulis ucapkan kepada seluruh teman-teman angkatan 2010 yang
telah bersama-sama penulis melewati perkuliahan pada program studi S1 Teknologi
Informasi, serta teman-teman mahasiswa Teknologi Informasi lainnya. Secara khusus,
penulis juga mengucapkan terima kasih kepada Cynthia A Sembiring yang selalu
memotivasi dan memberikan perhatiannya kepada penulis.
Universitas Sumatera Utara
v
ABSTRAK
Kejahatan semakin marak dikarenakan perkembangan teknologi smartphone yang
bukan lagi hanya sekadar alat untuk komunikasi. Aplikasi web dan aplikasi android
masih sering diserang untuk mendapatkan informasi rahasia seperti pencurian
sejumlah akun diinternet, foto pribadi, hingga data sensitif lain seperti SMS dan
nomor kontak. Resiko ini terjadi karena adanya kesalahan dari teknologi yang
digunakan aplikasi web atau aplikasi mobile untuk memberikan layanan komunikasi
data yang aman (SSL/TLS). Salah satu jenis kelemahan yang dieksploitasi para
cracker seperti heartbleed. Untuk membantu para pengakses dan pengguna aplikasi
untuk mengetahui keamanan layanan dan kelemahan SSL/TLS adalah dengan
menggunakan aplikasi pendeteksi celah keamanan. Metode yang digunakan dalam
aplikasi ini adalah blackbox testing untuk mendeteksi celah keamanan pada aplikasi
web dan aplikasi android. Aplikasi ini mendeteksi celah keamanan SSL/TLS yang
bersifat OpenSource (OpenSSL) seperti: heartbleed, logjam dan CVE 2015-1793 dan
aplikasi ini juga dapat melakukan verifikasi layanan SSL yang digunakan aplikasi
web.
KEYWORD : SSL, OpenSSL, Heartbleed, logjam, CVE 2015-1793, Kelemahan
Universitas Sumatera Utara
vi
SSL/TLS VULNERABILITY DETECTOR USING ANDROID
ABSTRACT
Increasing of crime cause smartphone technology which not only used for
communication. Web application and android application is often attacked for obtain
confidental information such as account bank number, personal photos, or sensitive
data such as SMS (Short Message service) and contact number. This risk occur cause
there are errors from the technology which are used by web application or mobile
application to provide security data communication service. One type of vulnerability
which exploited by cracker is heartbleed. To assist user for find out security service
and vulnerability of SSL/TLS using application of security detection. The Blackbox
testing method is used in this application for detection of security vulnerable in web
application and android application. This Application detect SSL/TLS vulnerability
which is open source such as heartbleed, logjam and CVE 2015-1793 and this
application also can verify SSL provider which is used by web application
Keyword : SSL, OpenSSL, HeartBleed, Logjam, CVE 2015-1793, Vulnerability
Universitas Sumatera Utara
vii
DAFTAR ISI
PERSETUJUAN
ii
PERNYATAAN
iii
UCAPAN TERIMA KASIH
iv
ABSTRAK
v
ABSTRACT
vi
DAFTAR ISI
vii
DAFTAR TABEL
x
DAFTAR GAMBAR
xi
BAB I PENDAHULUAN
1
1.1 Latar Belakang
1
1.2 Rumusan Masalah
4
1.3 Batasan Masalah
4
1.4 Tujuan Penelitian
4
1.5 Manfaat Penelitian
5
1.6 Metodologi Penelitian
5
1.7 Sistematika Penulisan
5
BAB II LANDASAN TEORI
7
2.1 Keamanan Informasi
7
2.2 Celah Keamanan / Vulnerability
8
2.2.1 Celah Keamanan Aplikasi Web
2.2.2 Celah Keamanan Pada Aplikasi Mobile
2.3 Aplikasi dan Keamanan Aplikasi
9
10
11
2.3.1 Aplikasi Web
12
2.3.2 Aplikasi mobile
12
Universitas Sumatera Utara
viii
2.3.3 Keamanan Aplikasi
13
2.4 SSL/TLS dan OpenSSL
13
2.4.1 SSL/TLS
13
2.4.2 OpenSSL
17
2.5 Socket
18
2.6 Android
19
2.7 Kelemahan Pada SSL/TLS
21
2.7.1 Heartbleed Bug (Heartbleed Vulnerability )
21
2.7.2 Logjam
22
2.7.3 CVE 2015-1793
22
2.8 Pengujian Aplikasi
23
2.8.1 White-Box Testing
23
2.8.2 Black-Box Testing
23
2.8.3 Gray-Box testing
24
2.9 Penelitian Terdahulu
24
BAB III ANALISIS DAN PERANCANGAN SISTEM
27
3.1 Identifikasi Masalah
27
3.2 Analisis Sistem
28
3.2.1 Scan Device
29
3.2.2 Scan URL
29
3.3 Proses Menguji Celah Kelemahan Aplikasi Web dan Aplikasi Mobile
36
3.3.1 Proses menguji serangan Heartbleed
36
3.3.2 Proses memverifikasi teknologi SSL server
40
3.3.3 Proses mengecek kelemahan terkait OpenSSL pada os android device dan
aplikasi mobile
41
3.4 Perancangan Sistem
42
3.4.1 Fungsi utama
42
Universitas Sumatera Utara
ix
3.4.2 Batasan -batasan
43
3.4.3 Data yang digunakan
43
3.4.4 Analisis pengguna
43
3.5 Perancangan User Interface
43
3.5.1 Rancangan halaman utama
44
3.5.2 Rancangan halaman Scan Url
44
3.5.3 Rancangan halaman Scan Device dan Application
45
3.5.2 Rancangan halaman tutorial aplikasi
47
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM
48
4.1 Implementasi Sistem
48
4.1.1 Spesifikasi perangkat keras dan perangkat lunak yang digunakan
48
4.1.2 Implementasi Black-Box testing
49
4.2 Pengujian Sistem
51
4.3 Pengujian Sistem Secara Menyeluruh dan Hasil Blackbox testing
52
4.3.1 Hasil Black-box Testing
53
4.3.2 Hasil pengujian aplikasi web terhadap Heartbleed dan Validasi SSL
56
4.3.3 Hasil pengujian aplikasi Mobile terhadap Kelemahan OpenSSl
58
BAB 5 KESIMPULAN DAN SARAN
60
5.1 Kesimpulan
60
5.2 Saran
61
DAFTAR PUSTAKA
62
Universitas Sumatera Utara
x
DAFTAR TABEL
Tabel 2.1 Penelitian Terdahulu
26
Tabel 4.1 sampel alamat website
52
Tabel 4.2 sampel aplikasi android
53
Tabel 4.3 hasil pengujian terhadap aplikasi Website
54
Tabel 4.4 hasil pengujian terhadap aplikasi browser
54
Tabel 4.5 sampel hasil pengujian terhadap aplikasi android
54
Universitas Sumatera Utara
xi
DAFTAR GAMBAR
Gambar 2.1
21
Gambar 2.2
21
Gambar 3.1 Arsitektur Umum Aplikasi
28
Gambar 3.2 Proses Handshake URL Web site
31
Gambar 3.3 Proses Penyerangan
32
Gambar 3.4 Proses Validasi SSL
33
Gambar 3.5 Proses Pengumpulan Informasi
34
Gambar 3.6 Proses identifikasi kelemahan
35
Gambar 3.7 Proses Identifikasi Kelemahan device
36
Gambar 3.8 Proses testing Heartbleed
37
Gambar 3.9 flowchart validasi SSL
40
Gambar 3.10 Proses Scan device
41
Gambar 3.11 Rancangan Halaman Utama
44
Gambar 3.12 Rancangan Halaman Scan URL
45
Gambar 3.13 Rancangan Halaman Scan device
46
Gambar 3.14 Rancangan Halaman Tutorial
47
Gambar 4.1 Halaman Utama
49
Gambar 4.2 Halaman Scan URL
50
Gambar 4.3 Halaman Scan Device
51
Gambar 4.4 hasil testing heartbleed
57
Gambar 4.5 hasil testing tidak heartbleed
57
Gambar 4.6 hasil testing device
58
Universitas Sumatera Utara
ANDROID
SKRIPSI
ERWIN H SITORUS
101402091
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
2016
Universitas Sumatera Utara
PENDETEKSIAN CELAH KEAMANAN SSL/TLS MENGGUNAKAN
ANDROID
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Teknologi Informasi
ERWIN H SITORUS
101402091
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
2016
Universitas Sumatera Utara
ii
PERSETUJUAN
Judul
: PENDETEKSIAN CELAH KEAMANAN SSL/TLS
MENGGUNAKAN ANDROID
Kategori
: SKRIPSI
Nama
: ERWIN H SITORUS
Nomor Induk Mahasiswa
: 101402091
Program Studi
: S1 TEKNOLOGI INFORMASI
Departemen
: TEKNOLOGI INFORMASI
Fakultas
: ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI
UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 2
Pembimbing 1
Romi Fadillah Rahmat, B.Comp.Sc M.Sc
Dani Gunawan, ST, MT
NIP. 19860303 201012 1 004
NIP. 19820915 201212 1 002
Diketahui/disetujui oleh
Program Studi S1 Teknologi Informasi
Ketua,
Muhammad Anggia Muchtar, ST., MM.IT
NIP. 19800110 200801 1 010
Universitas Sumatera Utara
iii
PERNYATAAN
PENDETEKSIAN CELAH KEAMANAN SSL/TLS
MENGGUNAKAN ANDROID
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 28 Februari 2016
Erwin H Sitorus
101402091
Universitas Sumatera Utara
iv
UCAPAN TERIMA KASIH
Puji dan syukur penulis sampaikah kehadirat Tuhan Yang Maha Esa yang telah
memberikan rahmat serta restu-Nya sehingga penulis dapat menyelesaikan skripsi ini
sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi.
Pertama, penulis ingin mengucapkan terima kasih kepada Bapak Dani Gunawan, ST
,MT selaku pembimbing pertama dan Bapak Romi Fadillah Rahmat, B.Comp.Sc.
M.Sc selaku pembimbing kedua yang telah membimbing penulis dalam penelitian
serta penulisan skripsi ini. Tanpa inspirasi serta motivasi yang diberikan dari kedua
pembimbing, tentunya penulis tidak akan dapat menyelesaikan skripsi ini. Penulis
juga mengucapkan terima kasih kepada Bapak Dedy Arisandi, ST. M.Kom sebagai
dosen pembanding pertama dan Bapak Ainul Hizriadi, ST.M.Kom sebagai dosen
pembanding kedua yang telah memberikan masukan serta kritik yang bermanfaat
dalam penulisan skripsi ini. Ucapan terima kasih juga ditjukan kepada semua dosen
serta semua pegawai pada program studi S1 Teknologi Informasi, yang telah
membantu serta membimbing penulis selama proses perkuliahan.
Penulis tentunya tidak lupa berterima kasih kepada kedua orang tua penulis, Bapak
penulis H. Sitorus, serta S. Napitupulu yang telah membesarkan penulis dengan sabar
dan penuh cinta. Penulis juga berterima kasih kepada seluruh anggota keluarga penulis
yang namanya tidak dapat disebutkan satu satu.
Terima kasih juga penulis ucapkan kepada seluruh teman-teman angkatan 2010 yang
telah bersama-sama penulis melewati perkuliahan pada program studi S1 Teknologi
Informasi, serta teman-teman mahasiswa Teknologi Informasi lainnya. Secara khusus,
penulis juga mengucapkan terima kasih kepada Cynthia A Sembiring yang selalu
memotivasi dan memberikan perhatiannya kepada penulis.
Universitas Sumatera Utara
v
ABSTRAK
Kejahatan semakin marak dikarenakan perkembangan teknologi smartphone yang
bukan lagi hanya sekadar alat untuk komunikasi. Aplikasi web dan aplikasi android
masih sering diserang untuk mendapatkan informasi rahasia seperti pencurian
sejumlah akun diinternet, foto pribadi, hingga data sensitif lain seperti SMS dan
nomor kontak. Resiko ini terjadi karena adanya kesalahan dari teknologi yang
digunakan aplikasi web atau aplikasi mobile untuk memberikan layanan komunikasi
data yang aman (SSL/TLS). Salah satu jenis kelemahan yang dieksploitasi para
cracker seperti heartbleed. Untuk membantu para pengakses dan pengguna aplikasi
untuk mengetahui keamanan layanan dan kelemahan SSL/TLS adalah dengan
menggunakan aplikasi pendeteksi celah keamanan. Metode yang digunakan dalam
aplikasi ini adalah blackbox testing untuk mendeteksi celah keamanan pada aplikasi
web dan aplikasi android. Aplikasi ini mendeteksi celah keamanan SSL/TLS yang
bersifat OpenSource (OpenSSL) seperti: heartbleed, logjam dan CVE 2015-1793 dan
aplikasi ini juga dapat melakukan verifikasi layanan SSL yang digunakan aplikasi
web.
KEYWORD : SSL, OpenSSL, Heartbleed, logjam, CVE 2015-1793, Kelemahan
Universitas Sumatera Utara
vi
SSL/TLS VULNERABILITY DETECTOR USING ANDROID
ABSTRACT
Increasing of crime cause smartphone technology which not only used for
communication. Web application and android application is often attacked for obtain
confidental information such as account bank number, personal photos, or sensitive
data such as SMS (Short Message service) and contact number. This risk occur cause
there are errors from the technology which are used by web application or mobile
application to provide security data communication service. One type of vulnerability
which exploited by cracker is heartbleed. To assist user for find out security service
and vulnerability of SSL/TLS using application of security detection. The Blackbox
testing method is used in this application for detection of security vulnerable in web
application and android application. This Application detect SSL/TLS vulnerability
which is open source such as heartbleed, logjam and CVE 2015-1793 and this
application also can verify SSL provider which is used by web application
Keyword : SSL, OpenSSL, HeartBleed, Logjam, CVE 2015-1793, Vulnerability
Universitas Sumatera Utara
vii
DAFTAR ISI
PERSETUJUAN
ii
PERNYATAAN
iii
UCAPAN TERIMA KASIH
iv
ABSTRAK
v
ABSTRACT
vi
DAFTAR ISI
vii
DAFTAR TABEL
x
DAFTAR GAMBAR
xi
BAB I PENDAHULUAN
1
1.1 Latar Belakang
1
1.2 Rumusan Masalah
4
1.3 Batasan Masalah
4
1.4 Tujuan Penelitian
4
1.5 Manfaat Penelitian
5
1.6 Metodologi Penelitian
5
1.7 Sistematika Penulisan
5
BAB II LANDASAN TEORI
7
2.1 Keamanan Informasi
7
2.2 Celah Keamanan / Vulnerability
8
2.2.1 Celah Keamanan Aplikasi Web
2.2.2 Celah Keamanan Pada Aplikasi Mobile
2.3 Aplikasi dan Keamanan Aplikasi
9
10
11
2.3.1 Aplikasi Web
12
2.3.2 Aplikasi mobile
12
Universitas Sumatera Utara
viii
2.3.3 Keamanan Aplikasi
13
2.4 SSL/TLS dan OpenSSL
13
2.4.1 SSL/TLS
13
2.4.2 OpenSSL
17
2.5 Socket
18
2.6 Android
19
2.7 Kelemahan Pada SSL/TLS
21
2.7.1 Heartbleed Bug (Heartbleed Vulnerability )
21
2.7.2 Logjam
22
2.7.3 CVE 2015-1793
22
2.8 Pengujian Aplikasi
23
2.8.1 White-Box Testing
23
2.8.2 Black-Box Testing
23
2.8.3 Gray-Box testing
24
2.9 Penelitian Terdahulu
24
BAB III ANALISIS DAN PERANCANGAN SISTEM
27
3.1 Identifikasi Masalah
27
3.2 Analisis Sistem
28
3.2.1 Scan Device
29
3.2.2 Scan URL
29
3.3 Proses Menguji Celah Kelemahan Aplikasi Web dan Aplikasi Mobile
36
3.3.1 Proses menguji serangan Heartbleed
36
3.3.2 Proses memverifikasi teknologi SSL server
40
3.3.3 Proses mengecek kelemahan terkait OpenSSL pada os android device dan
aplikasi mobile
41
3.4 Perancangan Sistem
42
3.4.1 Fungsi utama
42
Universitas Sumatera Utara
ix
3.4.2 Batasan -batasan
43
3.4.3 Data yang digunakan
43
3.4.4 Analisis pengguna
43
3.5 Perancangan User Interface
43
3.5.1 Rancangan halaman utama
44
3.5.2 Rancangan halaman Scan Url
44
3.5.3 Rancangan halaman Scan Device dan Application
45
3.5.2 Rancangan halaman tutorial aplikasi
47
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM
48
4.1 Implementasi Sistem
48
4.1.1 Spesifikasi perangkat keras dan perangkat lunak yang digunakan
48
4.1.2 Implementasi Black-Box testing
49
4.2 Pengujian Sistem
51
4.3 Pengujian Sistem Secara Menyeluruh dan Hasil Blackbox testing
52
4.3.1 Hasil Black-box Testing
53
4.3.2 Hasil pengujian aplikasi web terhadap Heartbleed dan Validasi SSL
56
4.3.3 Hasil pengujian aplikasi Mobile terhadap Kelemahan OpenSSl
58
BAB 5 KESIMPULAN DAN SARAN
60
5.1 Kesimpulan
60
5.2 Saran
61
DAFTAR PUSTAKA
62
Universitas Sumatera Utara
x
DAFTAR TABEL
Tabel 2.1 Penelitian Terdahulu
26
Tabel 4.1 sampel alamat website
52
Tabel 4.2 sampel aplikasi android
53
Tabel 4.3 hasil pengujian terhadap aplikasi Website
54
Tabel 4.4 hasil pengujian terhadap aplikasi browser
54
Tabel 4.5 sampel hasil pengujian terhadap aplikasi android
54
Universitas Sumatera Utara
xi
DAFTAR GAMBAR
Gambar 2.1
21
Gambar 2.2
21
Gambar 3.1 Arsitektur Umum Aplikasi
28
Gambar 3.2 Proses Handshake URL Web site
31
Gambar 3.3 Proses Penyerangan
32
Gambar 3.4 Proses Validasi SSL
33
Gambar 3.5 Proses Pengumpulan Informasi
34
Gambar 3.6 Proses identifikasi kelemahan
35
Gambar 3.7 Proses Identifikasi Kelemahan device
36
Gambar 3.8 Proses testing Heartbleed
37
Gambar 3.9 flowchart validasi SSL
40
Gambar 3.10 Proses Scan device
41
Gambar 3.11 Rancangan Halaman Utama
44
Gambar 3.12 Rancangan Halaman Scan URL
45
Gambar 3.13 Rancangan Halaman Scan device
46
Gambar 3.14 Rancangan Halaman Tutorial
47
Gambar 4.1 Halaman Utama
49
Gambar 4.2 Halaman Scan URL
50
Gambar 4.3 Halaman Scan Device
51
Gambar 4.4 hasil testing heartbleed
57
Gambar 4.5 hasil testing tidak heartbleed
57
Gambar 4.6 hasil testing device
58
Universitas Sumatera Utara