Home » Posts tagged "isp"

DNS over TLS 的 Privacy 改善

在上一篇提到 DNS over TLS 的「用 Stubby 在 Ubuntu 上跑 DNS over TLS」這篇,裡面 Gholk 留言提到:

可是 isp 還是可以從你接下來要去的 ip 知道你查了什麼吧?除非是 http proxy 多個域名一個 ip.

在「Does SNI represent a privacy concern for my website visitors?」這邊提到了 SNI 對隱私的問題,但他的想法剛好跟這個主題有關。

現代的瀏覽器架構使得使用者要在網路上保護自己很難 (這邊指的是隱私),但我們還是會利用各種方式加高 ISP 的難度,而這邊通常指的是成本:在 168.95.1.1168.95.192.1 上面記錄並且分析的成本,會比在所有的出口或是骨幹上面截聽封包的成本來的低很多,所以會走 DNS over TLS。

用 Stubby 在 Ubuntu 上跑 DNS over TLS

透過 DNS over TLS 會損失一些效能 (我用 VDSL 的光世代測試,大約是從 10ms 變成 40ms),但可以讓 ISP 看不到你查詢什麼,對於隱私有很大的幫助... 而先前是一直在看 Ubuntu 上的 Unbound 什麼時候會有 1.8.0+ 的版本可以用 (支援 DNS-over-TLS),但一直沒看到,結果在「How to Protect Your DNS Privacy on Ubuntu 18.04 with DNS over TLS」這邊看到 Stubby 這個軟體。

Stubby 在 Ubuntu 18.04 上可以直接裝,但在 Ubuntu 16.04 上需要透過 PPA 裝,我是透過「DNS Utils : James Newell」這個安裝的,裝好後 /etc/stubby/stubby.yml 檔裡 upstream_recursive_servers 的設定改成:

upstream_recursive_servers:
  - address_data: 1.1.1.1
    tls_auth_name: "cloudflare-dns.com"
  - address_data: 1.0.0.1
    tls_auth_name: "cloudflare-dns.com"

就可以走 port 853 的 DNS over TLS 了,而 Stubby 預設會聽 127.0.0.1::1 的 port 53,所以把 /etc/resolv.conf 或是 NetworkManager 的設定改成 127.0.0.1 就可以了。

目前這樣設看起來沒辦法擋 MITM attack (偽造 SSL certificate),Stubby 看起來只能用 tls_pubkey_pinset 鎖住,但實在不愛這個方法 (因為 Cloudflare 有可能會換成其他的 SSL certificate),之後看看有沒有可以吃 Root CA 架構的認證再來調整...

Facebook 觀察 IPv6 的使用情況

Facebook 是在六年前啟用了 IPv6 服務,然後分析了現在各地區 IPv6 使用的情況:「How IPv6 deployment is growing in U.S. and other countries」,另外提供了統計系統的資料給大家查 (不過看起來只有二月以後的?):「Facebook IPv6」。

然後被提到台灣區的成長在這幾個月很快速,主要原因是中華電信的導入:

We are also seeing countries and regions with less mature internet infrastructure start to transition to IPv6. Although overall deployment is still low, recent growth in some places has been exponential. Taiwan, for example, has gone from less than 1 percent in February 2018 to more than 10 percent as of May 28, 2018. Taiwan's rapid growth directly corresponds to recent IPv6 initiatives by Chunghwa, Taiwan's largest ISP.

先前在 Twitter 上有提到中華在 www.ipv6.hinet.net 網站上的跑馬燈有公告關於 IPv6 的導入,所以到這個月月底,使用比率應該都還會有明顯的提昇:

因為 Windows 7 以上的系統直接 PPPoE 的應該都會拿到 IPv6 address,但如果是 IP 分享器的就不一定支援了,不然應該會更高...

另外行動網路的部份也陸陸續續在轉移了,像我的 blog 上可以看到有 emome-ip6.hinet.net 的訪客,而且 Google 搜尋也可以看到一些資訊了:「"emome-ip6.hinet.net" - Google 搜尋」。

Telegram 使用 CDN 加速下載

Telegram 說明他們將會使用 CDN 加速:「More Speed and Security!」。

資料在 CDN 的節點上是加密的,金鑰需要透過 Telegram 的 key server 提供:

While these caching nodes are only used to temporarily store public media (imagine Telegram versions of superpopular YouTube hits), all data that goes through them is encrypted with a key unknown to the caching nodes. In other words, we treat these CDN caching nodes just like we treat your internet provider – they only ever get encrypted junk they can't decipher.

但這表示 Telegram 本身有能力解開這些資料?不知道這邊講的是什麼行為...

使用者如果選擇願意公開的話當然沒問題,但這種情況下也不需要 CDN 加密;而當使用者不願意公開時,應該是期望 Telegram 也無法解開這些資料?再來看看到底是怎麼樣的功能要上 CDN?

利用 Side-channel 資訊判斷被 HTTPS 保護的 Netflix 影片資訊

在「Netflix found to leak information on HTTPS-protected videos」這篇看到了研究員透過 VBR 所透露出的 side channel 資訊,成功的取得了被 HTTPS 保護的 Netflix 影片資訊。這對於美國的 ISP 是個大利多 (加上之前通過的法案),但對於個人隱私則是嚴重的打擊。

這項研究的準確率非常高:

To support our analysis, we created a fingerprint database comprised of 42,027 Netflix videos. Given this collection of fingerprints, we show that our system can differentiate between videos with greater than 99.99% accuracy. Moreover, when tested against 200 random 20-minute video streams, our system identified 99.5% of the videos with the majority of the identifications occurring less than two and a half minutes into the video stream.

而且他們居然是用這樣的單機分析:

null

苦啊...

英國通過法案要求 ISP 記錄使用者觀看過的網站

英國前幾天通過了最激烈的隱私侵犯法案,要求 ISP 必須記錄使用者觀看過的網站:「Britain has passed the 'most extreme surveillance law ever passed in a democracy'」:

The law forces UK internet providers to store browsing histories -- including domains visited -- for one year, in case of police investigations.

不愧是 George Orwell 生前的國家,居然先實現了他的理想國... 接下來 Let's EncryptTor 的重要性就更高了。

遠傳的 DNS 改成 139.175.1.1

找資料的時候發現原來在六月底的時候換掉了:「2016/06/30 起 遠傳大寬頻(Seednet) DNS主機異動公告說明」:

感謝您對本遠傳大寬頻(Seednet)長期的支持與愛護,因DNS主機將進行異動,
DNS IP將調整為139.175.1.1,原有的DNS IP(139.175.55.244、139.175.252.16),
將於2016年06月30日不再提供對外連線服務。

這樣的話三大 ISP 都放到最好記的網段下了 (另外兩個分別是台灣固網的 61.31.1.1 與中華的 168.95.1.1)。

印度 ISP 跟 Torrent 站台合作加速下載

在「Indian ISPs Speed Up BitTorrent by ‘Peering’ With a Torrent Site」這篇講到印度的 ISP 跟 torrent 站台 TorBox 合作,加速下載的速度。

裡面提到了蠻有趣的加速技巧:

They help users to download content faster by linking them to local peers in their own network.

不知道是不是指 Local Peer Discovery (BEP-14) 的技術,如果是的話大概可以猜出作法... 這樣可以降低不少 ISP 對外頻寬的流量與成本。

CloudFlare 對 HiNet 成本的抱怨 (還有其他 ISP...)

CloudFlare 特地寫了一篇討拍文在分析對六個 ISP 的超高成本:「Bandwidth Costs Around the World」。

其他的就不講了,先看對價錢的定義:

As a benchmark, let's assume the cost of transit in Europe and North America is 10 units (per Mbps).

然後來看亞洲區以及 HiNet 的部份寫了什麼:

Two Asian locations stand out as being especially expensive: Seoul and Taipei. In these markets, with powerful incumbents (Korea Telecom and HiNet), transit costs 15x as much as in Europe or North America, or 150 units.

成本大約是 15 倍。另外說明這六個 ISP 佔了他們 50% 的頻寬成本 (以及 6% 的流量):

Today, however, there are six expensive networks (HiNet, Korea Telecom, Optus, Telecom Argentina, Telefonica, Telstra) that are more than an order of magnitude more expensive than other bandwidth providers around the globe and refuse to discuss local peering relationships. To give you a sense, these six networks represent less than 6% of the traffic but nearly 50% of our bandwidth costs.

為什麼有種濃濃的既視感 XDDD

一張網卡上面從 ISP 取得多個 DHCP IP 或是取得多個 PPPoE IP

昨天跟朋友吃飯的時候談到這個問題,回家幫他找一下解法。主要的限制是各 ISP 對單一 mac address 限制分配一個 IP,所以問題只在於要怎麼在 Linux 下的單一網卡建立多個不同的 mac address,後續的就好做了。

主要是參考 Macvlan and IPvlan basics 這篇文章的指令測試。

首先是建立 fakevlan1 (卡號系統會隨機產生),然後啟用他,最後呼叫 dhclient 請 ISP 提供 IP:

# ip link add fakevlan1 link eth1 type macvlan mode bridge
# ifconfig fakevlan1 up
# dhclient fakevlan1

這邊細部沒有處理 routing 的問題 (dhclient 會收到 ISP 提供的各種 routing 與 dns 資訊),看起來可以透過「Can I prevent a default route being added when bringing up an interface?」這邊的方法處理掉。

PPPoE 的方法我相信也類似啦... (手邊沒有 HiNet 線路可以測試 XD)

Archives