Babak Baru Sensor Internet di Indonesia: DPI & TCP Reset Attack

Beberapa upstream provider atau checkpoint melakukan TCP Reset Attack untuk memblokir akses ke website-website yang dinilai ilegal.
On this page

Berbeda dengan sebelumnya yang menggunakan DNS filtering, beberapa upstream telah melakukan TCP Reset Attack untuk memblokir akses ke website-website yang dinilai ilegal. Dan kenapa Anda harus mulai perduli untuk masalah ini.


Latar Belakang

Sejak beberapa bulan yang lalu, saya mulai tidak dapat mengakses reddit.com dari koneksi internet ISP saya, padahal di jaringan rumah saya sudah memakai DNS-over-HTTPS (DoH). Hal yang sama terjadi juga ketika saya melakukan VPN ke server saya yang notabenenya tanpa “Internet Positif” (baca: tanpa sensor).

Browser saya selalu mengatakan error “The connection was reset”. Service gratis libreddit yang saya sediakan untuk mengakses Reddit tanpa konten bermuatan NSFW juga menjadi tidak bekerja (servernya sebelumnya ada di Indonesia Data Center Duren Tiga atau IDC-3D).

Baca juga: “Cara Akses Reddit Tanpa VPN Dengan Libreddit”.

Setelah berdiskusi dengan rekan kantor dan melakukan sedikit observasi, saya dapat menyimpulkan bahwa yang saya alami adalah TCP reset attack (TCP RST) dan terjadi di Upstream provider / network checkpoint yang saya gunakan. Sepertinya (menurut saya pribadi), upstream provider yang saya gunakan dipaksa atau terpaksa melakukan aktifitas “jahat” ini.

Kenapa saya bilang terpaksa atau dipaksa? Karena Upstream provider adalah pelaku bisnis, dan tujuan bisnis salah satunya adalah meraih laba sebesar-besarnya. Sedangkan untuk melakukan Deep Packet Inspection (DPI) untuk traffic yang besar bukan hal yang murah. Coba saja cari informasi harga Palo Alto 5200 series, Cisco Firepower 9300 series, atau FortiGate 6000 series jika tidak percaya. Itu baru biaya hardware, belum untuk biaya maintenance, dan pengeluaran oprasional seperti training, gaji, dan lain-lain. Tapi jika ancamannya adalah pencabutan izin, apa boleh buat?

Memang perangkat firewall enterprise sekelas dengan yang saya sebutkan diatas pasti dimiliki perusahaan ISP besar, apa lagi di network checkpoint. Namun saya yakin, pelaku bisnis akan lebih memilih menghemat resource dan menghindari komplain dari customer bisnisnya (downstream) daripada harus melakukan deployment dan integration DPI di infrastruktur network yang sudah mereka punya.

Jika cost untuk melakukan DPI akan sangat mahal, mungkinkah TCP-RST attack tersebut diimplementasikan di setiap checkpoint pada skala nasional? Tidak mungkin bukan? Hold my beer, Anda mungkin tidak tahu track-record seberapa “kaya” negara kita untuk membeli dan mengimplementasikan hal-hal seperti itu di bagian #Privasi.

Investigasi

Saya melakukan investigasi yang sangat sederhana untuk membuktikan apakah benar TCP-RST attack itu secara otomatis terjadi. Ada 2 cara yang saya lakukan:

  1. menggunakan browser dengan inspect element (simple).
  2. Langsung dari server saya yang berada di Indonesia dan melakukan network capture menggunakan tcpdump (advanced).

CATATAN: Dari yang selama ini saya amati, TCP-RST attack belum diimplementasikan di seluruh checkpoint / upstream. Jadi masih banyak provider yang belum terdampak.

Menggunakan Browser (inspect element, simple)

Browser error: connection reset

Cara paling mudah (tetapi tidak detail) adalah menggunakan browser Anda. Ketika Anda tidak dapat mengakses reddit.com (atau situs lain yang diblokir pemerintah) dan mendapatkan pesan error “The connection was reset”; besar kemungkinan ISP (atau upstream ISP) Anda sudah mengimplementasikan metode ini.

Cara lebih detail, sebelum mencoba akses ke reddit.com, klik kanan pada browser dan cari kata “inspect” atau “developer tools”. Masuk ke tab “Network” kemudian baru coba akses reddit.com. Informasi “CONNECTION_RESET” pada kolom status muncul jika server mengirimkan packet reset (RST).

Menggunakan tcpdump dan curl (advanced)

Supaya dapat mengerti metode ini, Anda perlu mengetahui konsep dasar TCP/IP dan 3-Way-Handshake. Saya pernah menulis mengenai analogi TCP/IP - 3-Way-Handshake - MiTM - Session Hijacking di tahun 2012 lalu. Atau silahkan mencari sendiri dari mesin penelusuran favorit Anda.

Saya mencoba melakukan investigasi langsung dari server saya yang berada di Indonesia Data Center Duren Tiga. Caranya cukup simple, yaitu dengan mengirimkan HTTP GET ke reddit.com menggunakan curl dan melakukan packet capture menggunakan tcpdump secara bersamaan.

Dibawah ini 151.101.xx.xxx adalah salah 1 IP reddit.com yang saya dapatkan dari DNS resolver saat melakukan testing. Sedangkan xxx.xxx.x06.26 adalah IP public server milik saya.

Sample curl https://reddit.com -vvv output:

 1*   Trying 151.101.xx.xxx:443...
 2* TCP_NODELAY set
 3* Connected to reddit.com (151.101.xx.xxx) port 443 (#0)
 4* ALPN, offering h2
 5* ALPN, offering http/1.1
 6* successfully set certificate verify locations:
 7*   CAfile: /etc/ssl/certs/ca-certificates.crt
 8  CApath: /etc/ssl/certs
 9* TLSv1.3 (OUT), TLS handshake, Client hello (1):
10* OpenSSL SSL_connect: Connection reset by peer in connection to reddit.com:443 
11* Closing connection 0
12curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to reddit.com:443

sample tcpdump -i ens18 dst 151.101.xx.xxx or src 151.101.xx.xxx -Nnn:

 1tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
 2listening on ens18, link-type EN10MB (Ethernet), capture size 262144 bytes
 300:54:25.646807 IP xxx.xxx.x06.26.43020 > 151.101.xx.xxx.443: Flags [S], seq 1624542501, win 64240, options [mss 1460,sackOK,TS val 3865742701 ecr 0,nop,wscale 7], length 0
 400:54:25.659369 IP 151.101.xx.xxx.443 > xxx.xxx.x06.26.43020: Flags [S.], seq 2720903651, ack 1624542502, win 65535, options [mss 1460,sackOK,TS val 1136396143 ecr 3865742701,nop,wscale 9], length 0
 500:54:25.659407 IP xxx.xxx.x06.26.43020 > 151.101.xx.xxx.443: Flags [.], ack 1, win 502, options [nop,nop,TS val 3865742714 ecr 1136396143], length 0
 600:54:25.666249 IP xxx.xxx.x06.26.43020 > 151.101.xx.xxx.443: Flags [P.], seq 1:518, ack 1, win 502, options [nop,nop,TS val 3865742721 ecr 1136396143], length 517
 700:54:25.666843 IP 151.101.xx.xxx.443 > xxx.xxx.x06.26.43020: Flags [R.], seq 1, ack 518, win 16, length 0
 800:54:25.666850 IP 151.101.xx.xxx.443 > xxx.xxx.x06.26.43020: Flags [R.], seq 1, ack 518, win 16, length 0
 900:54:25.666931 IP 151.101.xx.xxx.443 > xxx.xxx.x06.26.43020: Flags [R.], seq 1, ack 518, win 16, length 0
1000:54:25.678672 IP 151.101.xx.xxx.443 > xxx.xxx.x06.26.43020: Flags [.], ack 518, win 285, options [nop,nop,TS val 1136396162 ecr 3865742721], length 0
1100:54:25.678708 IP xxx.xxx.x06.26.43020 > 151.101.xx.xxx.443: Flags [R], seq 1624543019, win 0, length 0
1200:54:25.683731 IP 151.101.xx.xxx.443 > xxx.xxx.x06.26.43020: Flags [P.], seq 1:3717, ack 518, win 285, options [nop,nop,TS val 1136396167 ecr 3865742721], length 3716
1300:54:25.683753 IP xxx.xxx.x06.26.43020 > 151.101.xx.xxx.443: Flags [R], seq 1624543019, win 0, length 0

Keterangan dari hasil tcpdump flag diatas:

TCP Flagtcpdump flagketerangan
SYNSKoneksi dimulai
FINFKoneksi selesai
RSTRKoneksi reset
PUSHPData push
ACK.Acknowledgment

* Flag diatas dapat dikombinasikan, misalnya [s.] adalah packet SYN-ACK.

TCP-RST attack

Terlihat jelas setelah server melakukan handshake dan mengirimkan pengiriman packet data, saya langsung menerima RST (reset) flag.

Kenapa Anda Harus Perduli?

Meskipun belum sekelas The Great Firewall of China (GFW), tetapi indikasi menuju kesana sangat terasa. yang sebelumnya hanya dari DNS spoofing, filtering dan redirect; sekarang sudah menggunakan Deep Packet Inspection dan TCP reset attack.

Dikutip dari Wikipedia, pemerintah Indonesia melalui Telkom Indonesia (ISP milik pemerintah) mengunakan teknologi Deep Packet Inspection (DPI) dari Cisco Meraki melakukan pengawasan (surveillance) dan maping Nomor Induk Kependudukan (NIK) terhadap masyarakat yang menggunakan jasa ISP milik pemerintah.

Tujuan dari Deep Packet Inspection (DPI) termasuk melakukan filter terhadap konten pornografi, ujaran kebencian dan meredakan tensi (misalnya di Papua 2019). Pemerintah Indonesia juga berencana meningkatkan pengawasan (surveillance) ke tingkat lebih lanjut hingga tahun 2030.

Makin Terbatasnya Akses Terhadap Informasi

Kedepannya, Anda kita akan mengalami kesulitan untuk mendapatkan informasi yang dianggap “terlarang” oleh pemerintah. Ingin melihat dan mencoba sendiri contoh nyata-nya? Coba gunakan mesin pencari asal China bernama Baidu dan lakukan pencarian dengan kata kunci “Tiananmen Square”. Bandingkan hasil penelusuran dari Baidu dengan hasil pencarian mesin pencari lain.

Saya sendiri sudah mengalaminya, meskipun tidak seperti dan separah di China sana, tetapi sangat merepotkan dan menyebalkan. Misalnya ketika saya mencoba melakukan pencarian mengenai trouble yang saya alami mengenai masalah IT, sering kali mesin pencarian mengeluarkan hasil pencarian dari Reddit dan solusi itu ada dan sudah didiskusikan disana. Namun untuk mengaksesnya saya harus melakukan koneksi VPN ke server saya yang berada di luar Indonesia terlebih dahulu sebelum masuk ke link hasil pencarian tersebut.

Rusaknya Hak Asasi dan Turunnya Nilai-Nilai Demokrasi

Pembatasan hak digital dapat merusak hak asasi manusia dan menurunkan nilai-nilai demokrasi. Contohnya pada awal tahun 2021, penduduk desa Wadas yang telah menolak proyek pertambangan batu Andesit (untuk keperluan proyek Bendungan Bener). Selama beberapa bulan kemudian, penduduk desa Wadas masih meluncurkan seri protes dan menggunakan media sosial untuk menggerakkan dukungan dan meningkatkan kesadaran. Namun, konektivitas internet mereka justru (diyakini) dibatasi oleh pihak berwajib sebagai respon terhadap protes warga pada Februari 2022.

Penduduk Wadas melaporkan kesulitan dalam mengakses akun Twitter masing-masing pada minggu yang sama, walaupun belum jelas bagaimana pembatasan tersebut dilakukan. Siilahkan baca sendiri artikel dari DetiX berjudul Derasnya Penindasan Hak Digital di Wadas.

Chilling Effect / Efek Jera dan Matinya Kebebasan Berekspresi

Efek jera atau biasa dikenal sebagai Chilling Effect adalah sebuah konsep ketakutan masyarakat yang muncul karena hukum atau peraturan perundang-undangan yang ambigu (EHEMMMMM… UUITE.. Ehemmmm.. Maaf tiba-tiba batuk). Biasanya chilling effect berhubungan dengan peraturan yang terkait dengan pencemaran nama baik atau fitnah (Ehemmmm… maaf batuk lagi..).

Selama 2018, polisi menangkap 122 orang terkait ujaran kebencian di media sosial. Disana, ada lima jenis kejahatan, mulai dari hoaks, berita bohong, berita palsu, penistaan agama, hingga pencemaran nama baik ungkap Brigjen Pol. Rachmad Wibowo yang saat itu menjabat sebagai Direktur Tindak Pidana Siber Badan Reserse Kriminal Polri.

Kemudian di 2021, dengan “diaktifkannya” Polisi Siber akan makin membungkam kebebasan sipil itu sendiri, khususnya tekait kebebasan berekspresi. Hal tersebut disampaikan oleh Koordinator Komisi untuk Orang Hilang dan Tindak Kekerasan (Kontras), Fatia Maulidiyanti.

Dan di bulan februari 2022, hasil survey dari Indikator Politik Indonesia menunjukan bahwa 62,9% (dengan metode stratified random dari 1.200 responden dengan margin of error sekitar 2,9%) responden menyatakan setuju dan sangat setuju bahwa masyarakat saat ini semakin takut dalam mengeluarkan pendapat.

Sekarang Polisi Siber itu gampang sekali, kalau misalnya Anda mendapatkan berita yang mengerikan, lalu lapor ke polisi, dalam waktu sekian menit diketahui dapat dari siapa, dari mana, lalu ditemukan pelakunya lalu ditangkap.” - Mahfud MD

Privasi

Sebenarnya, privasi adalah hal pertama yang seharusnya saya sebut dari semua poin-poin ini. Tapi karena di Indonesia masyarakatnya masih tidak begitu perduli urusan privasi ya saya taruh di hampir akhir. Lha wong data BSI bocor aja yang paling banyak diributin duitnya, bukan kebocoran data pribadinya.

Tenang boss, duit itu pasti balik karena perbankan pasti punya rekap data dan backup, transaksi sesama bank maupun antar bank juga pasti tercatat. Yang rugi adalah waktu dan tenaga Anda saat layanan tersebut tidak bisa digunakan. Dan yang paling penting, data pribadi Anda yang nantinya diperjual belikan.

Kembali ke masalah privasi dan Deep Packet Inspection (DPI), sebenarnya awal DPI dibuat oleh engineer adalah untuk mengukur dan mengatur keamanan jaringan dan melindungi pengguna dan mencegah penyebaran malware. Tapi, dengan dimanfaatkan teknologi tersebut sebagai alat surveillance akan sangat berdampak buruk pada privasi Anda kita. Selain itu, DPI juga dapat dimanfaatkan untuk mempelajari prilaku / interest seorang individu maupun instansi dari aktifitas mereka di internet yang pada akhirnya dapat digunakan untuk targeted (behavioral) marketing.

Berbagai laporan telah mengaitkan pihak berwajib dengan pembelian dan penggunaan spyware dan alat-alat surveillance canggih lainnya. Misalnya, di tahun 2015, Citizen Lab; sebuah kelompok penelitian yang berbasis di Toronto menduga bahwa pemerintah Indonesia pernah menggunakan spyware FinFisher yang mengumpulkan data seperti audio Skype, key log, dan tangkapan layar.

Di tahun 2016, Joseph Cox mengungkap bahwa International Mobile Subscriber Identity-catchers (IMSI-catchers) pernah dijual ke Indonesia dari perusahaan Swiss dan Inggris. IMSI-catcher adalah perangkat yang digunakan untuk menangkap (intercept) traffic jaringan ponsel dan melakukan pelacakan lokasi kepada pengguna ponsel. Bisa dibilang, seperti sebuah “BTS palsu” sebagai perantara antara ponsel milik pengguna ke BTS asli milik ISP.

Pada Desember 2021, Citizen Lab, menyatakan bahwa ada kemungkinan besar pemerintah Indonesia telah menjadi pelanggan Cytrox yang menjual Predator spyware. Selain itu, Citizen Lab juga melaporkan pada Desember 2020 bahwa Indonesia sangat mungkin pernah membeli teknologi dari Circles, sebuah perusahaan yang menjual exploit dari sistem selular global yang kemudian bergabung dengan NSO group. Metode yang dilakukan Citizen Lab untuk mengetahui hal tersebut adalah dengan melakukan scanning & signature fingerprinting terhadap checkpoint firewall pada perangkat Circles melalui layanan Shodan.

Dampak Terhadap Perekonomian

Dari yang saya amati sampai saat ini, implementasi TCP-RST attack masih ada di beberapa upstream provider saja. Namun jika hal ini ini terus dilakukan dan diimplementasikan di seluruh checkpoint yang keluar dari Indonesia, maka akan berdampak pada minat beli dan investasi ke Cloud Provider / Datacenter yang berlokasi di Indonesia.

Siapa yang mau jika tiba-tiba microservices-nya tidak berfungsi karena TCP-RST attack tersebut? Saya sendiri mulai memindahkan VPS-VPS saya ke luar Indonesia karena menurut saya, infrastruktur server / cloud seharusnya tidak (secara tiba-tiba) dibatasi (tanpa pemberitahuan sebelumnya) untuk mengakses data yang sudah tersedia di public / public API.

Moving to AWS

Menghindari sensor

Untuk melakukan bypass pemblokiran yang berbasis DNS seperti DNS spoofing, DNS filtering dan DNS redirect; mengajari orang awam memanfaatkan DNS-over-HTTPS (DoH) masih cukup mudah. Tetapi untuk melakukan bypass DPI dan TCP RST attack, saya rasa akan sangat sulit dan mustahil dilakukan oleh mayoritas orang awam (secara teknologi) di Indonesia.

Salah satu cara adalah menggunakan tunnel ke server yang berada diluar Indonesia, entah itu VPN atau SOCKS5 proxy. Itu pun pemerintah dan ISP yang Anda gunakan akan tetap tahu bahwa Anda menggunakan Proxy / VPN. Bedanya mereka hanya tahu Anda melakukan koneksi VPN / Proxy server dan dimana VPN / Proxy server tersebut berada. Selebihnya mereka tidak tahu (hanya Anda, VPN / Server / Proxy provider yang tahu service dan host* mana Anda berkomunikasi).

Jika Anda benar-benar concern terhadap privasi, pemilihan VPN provider juga harus dilakukan dengan riset yang cukup rumit. Banyak sekali aplikasi di App Store yang menawarkan VPN gratis, tetapi tidak sedikit VPN provider yang pada akhirnya mengolah dan menjual data Anda.

Kita juga berharap bahwa teknologi QUIC/HTTP3 segera masuk ke babak baru yang “mungkin” akan sedikit membantu mengurangi dampak TCP RST attack.

Sumber dan Referensi