-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Indonesian Focus Group discusses filtering mechanisms #316
Comments
I'll note that blocking of encrypted DNS has been reported in 2022: #114 |
Thanks @fortuna, this is a great thing to find. This is an archival copy: https://archive.org/details/KominfoFGD20231204 The "Kominfo" of the YouTube channel name is the Indonesian Ministry of Communications and Informatics, "responsible for communications, information affairs, and Internet censorship." Does anyone speak Indonesian who can pick out some of the important points? (In particular, do you know anything about the "TKPPSE" or "RPZ" acronyms mentioned?) EDIT 2023-12-20: RPZ is Response Policy Zone, TKPPSE is Tata Kelola Pengendalian Penyelenggara Sistem Elektronik "Electronic System Operator Control Governance". I skimmed through the visuals and noted a few interesting timestamps:
|
But some ISPs also do SNI-based blocking here now |
iMAP and OONI have high-quality reports about blocking in Indonesia:
I did not find the acronyms RPZ and TKPPSE in them, but there are definitions of PSE and Trust+/TrustPositif. PSE is a legal class of online service operators who are obliged to register themselves with the government, comply with takedown requests, etc. TrustPositif is a (DNS?) filtering application, operational since 2010.
https://ooni.org/post/2022-state-of-internet-censorship-indonesia/#trustpositif-by-kominfo
The Freedom on the Net 2023 report for Indonesia is also full of a lot of good analysis. I do not find TSPPKE or RPZ in it, but it mentions TrustPositif and another, newer system called DNS Whitelist Nusantara: https://freedomhouse.org/country/indonesia/freedom-net/2023#A
|
Footnote 42 of the Freedom on the Net report links to a PowerPoint presentation (20220729021540.pdf) by Mohamad Shidiq Purnama at the Indonesia Network Operators Group (IDNOG) Workshop and Conference 2022, on the topic of a national DNS system. |
I figured out what RPZ is. From A warm welcome to DNS:
|
National DNS has actually been implemented since 2015 You can read it here https://www.kominfo.go.id/index.php/content/detail/4991/Kominfo+Finalisasi+DNS+Nasional/0/sorotan_media So basically the current system is, every ISP must redirect port 53 to their own server, their own server must be synchronized to Kominfo's RPZ server so it can update the blocking efficiently. Indonesian cannot change their DNS settings without using encrypted DNS, so if we want to use custom filtering service such as NextDNS or ControlD, we usually rely on DoH/DoT |
True. And that means that if those protocols get blocked, then we'll have to probably use a VPN to tunnel DNS queries lol |
I see—so RPZ (Response Policy Zone) is a semi-standard way of representing DNS filtering/blocking rules as DNS information itself, such that the rules can be transmitted/synchronized with a zone transfer (AXFR/IXFR). So we may take as a working hypothesis that the DNS blocklist in Indonesia is centrally managed and stored in Response Policy Zone format. Each individual ISP synchronizes the local blocklists in its own DNS resolvers with a master RPZ server periodically. (Every 1,000 seconds?) Maybe, then, it's possible to interrogate the RPZ masters, or download the entire blocklist with a zone transfer? I tried port scanning 103.154.123.130, 139.255.196.202, and 27.54.116.6, but did not find udp/53 responsive on any of them. The Trust+ / TrustPositif label also seems to have to do with DNS filtering. But I'm not sure if it's the same as the RPZ system, or something additional to it. @DarkMProgrammer, @ThePhoenix576, do you know, is Trust+ the name for the RPZ-based rule specification and synchronization system, or is Trust+ a different system? Slide 5 of the IDNOG 2022 slides mentions an "anti phishing" database separate from the Trust+ list, so maybe there is more than one database. One of the slides in the focus group discussion refers to both RPZ and TrustPositif:
|
@DarkMProgrammer, @ThePhoenix576, do you know what TKPPSE is? PSE is probably penyelenggara sistem elektronik. This is one of the slides that mentions TKPPSE (timestamp 1:33:00):
|
I don't know for sure. I haven't looked into it that much. @DarkMProgrammer might know more about this thing though.
Tata Kelola Pengendalian Penyelenggara Sistem Elektronik It seems to refer to their blocking system to "protect" the digital world . or something like that. I don't know if it's specific to one of their blocking systems or something like that though. |
I see. So the name is not really specific. I wonder if TKPPSE is something like the TSPU in Russia, government-managed DPI black boxes installed at ISPs. |
Yeah, idk for sure. But I'm not liking where this country is going with them wanting to block DoT/H etc lol. Thankfully they drew the line with VPNs. But we all know that they can change their minds in an instant. |
It's the DPI middlebox which responsible to send TCP RST (for https) and sending 302 redirection to national blockpage (http://lamanlabuh.aduankonten.id) for http. If you don't know, every Indonesian DPI mechanism have the same behaviour such as:
Here is for example when we tested port 25565 with the Host header of If the DPI is deployed by each ISP, there most likely won't have same mechanism as some ISP here love putting ads lol |
The DNS Transfer only permitted for ISP DNS here, they have an ACL going to port 53 so outsider can't do AXFR command. Feel free to contact me on slashy(at)bebasid.com if you want more info |
It's not about reliable outside server anymore, it's about freedom of information and human right. Indonesian are very restricted to customize their network by Kominfo due to National DNS regulation. They can't enjoy custom filtering, ad-blocking DNS, or even host their own DNS because of this. It's not only international port 53 that got redirected, the local one too because Kominfo/ISP afraid people is hosting DNS on local VPS server and use them at home. Ironically, National DNS actually against our consitution which guaranteed freedom of expression and human rights |
I see. The ACL must be the reason for the Google Form (archive) linked at 1:37:53 in the focus group video. A field on the form asks for the IP addresses that will be used for RPZ zone transfers.
|
Yep that's right, in order to get access to it, you must register there first |
I found this leak from some clueless Indonesian NOC on LinkedIn. TKPPSE is indeed the National DPI implemented by Kominfo, simillar to GFW on China. |
Every ISP that has connection to outside (Ex: Singapore) have their network tapped first by Kominfo so they can log or monitor the request for "blacklisted" header. If the header is blacklisted, the National DPI (so called TKPPSE) will send you TCP RST packet and 302 redirection to National Blockpage at (http://lamanlabuh.aduankonten.id) |
It's indeed sad that my country is heading towards China/Iran :( I don't care if the government is only blocking pornographic and gambling content. What I care, they love to block random stuff that should not be blocked such as Reddit, Vimeo, Startmail, and recently, Hypixel. This falls under censorship rather than "protection" now especially they forbid their people to change their DNS and now implementing simillar infrastructure to China censorship. |
I just realised some clever ISP in Indonesia has different routing thus only its client that affected by DPI. Mainly noted PT Jala Lintas Media and PT Cyberindo Aditama so the bidirectional checking won't work |
That same slide appears in this focus group discussion, during Setyo Wibawa's part at 1:49:40. The title of the slide says "TKPSEE", but I would guess that's a typo for TKPPSE.
|
I can reproduce the bidirectional HTTP 302 injection with curl. Great tip. @snourin, this looks like something you'd be interested in.
In my quick tests, it looks like the injection is unreliable: sometimes a get the real response from the iconnet.id server. Interestingly, it appears that the GET method but not the HEAD method is affected: |
Yeah but if you are inside Indonesia, you will get injected 100% I don't know what's actually happening on the National DPI's side that causing a request from outside Indonesia to have unstable injection. |
I suspect Iconnet has a loadbalancing stuff on their side, when you aren't affected, sometimes you got routed to one of their backup loadbalancing border router which hasn't been tapped yet by Kominfo |
Oh yeah if you don't know what NAP is, NAP stands for Network Access Provider. Kominfo has actually have 2 ISP licensing. one is ISP and one is NAP ISPs with normal ISP licensing are forbidden to have a direct peer with Tier 1 ISPs (such as HE, Cogent, etc). they are only allowed to peer with NAP before going to T1 ISPs NAP in the other hand, are the ISPs that is allowed to have direct connection outside, they are forced by Kominfo to have their border router tapped to the National DPI (TKPPSE) for censorship reason like above. |
Even some CDN here are blocked , how bad could it be. The reason of the blockage could be these 2 reasons:
|
Is it possible to set up a firewall to drop a specific IP ID? Perhaps combined with a sequence number or direction to minimize false positives? That could potentially bypass censorship. |
We should try this, we have several mechanism to bypass the National DPI (TKPPSE) on MikroTik by dropping certain packet on the firewall (I won't tell you how since there might be a Kominfo spy here lurking around) but feel free to drop me an email or talk with me on Slack as usual haha. I and my team on BEBASID would love to try to experiment with this |
Oh yeah, the request might still be logged on Kominfo's TKPPSE infrastructure so while you can bypass the censorship by dropping certain packet that the National DPI sent, they still know what you are visiting thus its not good for your privacy |
It looks like nftables support IP IDs in rules: https://wiki.gentoo.org/wiki/Nftables#Rules. I'm not super familiar with nftables, but I think the rule would look something like this:
|
That's interesting, since I'm currently super busy right now (sorry), I'll have my colleague test it for us |
They got Object "id" is unknown, try "ip help". error while trying on nftables hmm |
I found an old screenshot from my hard drive. During the post implementation of TKPPSE, Cloudflare CGK Datacenter got affected by the National DPI Resulting blocked site that is using Cloudflare cannot be accessed as its either redirected to national block page or returning SSL Handshake Error Google Translate proxy also got affected too. Luckily its safe now. Probably Google and Cloudflare ditched the provider who did this and rerouted it directly to SG without help of local provider. |
@DarkMProgrammer |
I never done it manually with nfttables, but GoodbyeDPI/Zapret did work to bypass TKPPSE |
Thank you for the news. Since this thread is about the focus group video, let's talk about DoH/DoT blocking in a new thread. |
AS4800 - PT Aplikanusa Lintasarta started to redirect port 53 again on IP Transit level if they know that their customer is an ISP serving to end user in Indonesia. They done this back in 2022, dismantled it for temporary and reimplementing again now. I think this is unethical for an ISP to do this as it can break some of their customer's network and such. What do you think of this? |
Mau heran tapi komingfod 🥱🥱 Kalo seandainya DoT bisa pake custom port selain 853, gw pasangin DoT di port 22 biar ketar ketir tuh si tua bangka Want to be surprised but komingfod 🥱🥱 If DoT could use custom ports other than 853, I'd put DoT on port 22 to make the old guy nervous. |
It's still on their planning, I heard it from my ISPs friend that every DoH/DoT IP will be added to their national RTBH filtering. If you don't know what RTBH filtering is, it's like an RPZ but for IP Address. You put it on BGP So the RTBH BGP will announce blocked IP to its client to drop it. FYI: Some Cloudflare IP is added to their RTBH so some Cloudflare IP aren't reachable from Indonesia. For example, the IP address of sflix.to which is currently added to Trust+ list |
The Ministry of Communication and Information (Kementerian Kominfo) hosted a live stream on December 4, 2023, where they openly discuss the mechanisms to filter content in Indonesia.
The video is in Indonesian, but you can enable closed captions and auto-translate to explore it.
To make it easier to explore, I've extracted the auto-translated subtitles. That way you can search for topics of interest, and find the time in the video.
Among other things, they discuss DNS and IP-based blocking and blocking of third-party DNS resolvers, explicitly calling out Google, Cloudflare and Quad9, and blocking of port 853. They say that they need to block encrypted DNS (DoT, DoH and DoQ) so that the user is forced to fall back to unencrypted DNS.
I did not see any mention of SNI-based blocking.
Below are two relevant moments, and you can find more by searching the transcript.
https://www.youtube.com/live/JY7-KbByjcI?si=p5SJnKdwww48uQD7&t=6634
https://www.youtube.com/live/JY7-KbByjcI?si=W0hC4sDSYiA-BPpp&t=8551
The text was updated successfully, but these errors were encountered: