CacheBrowser の実隓: コンテンツ キャッシュを䜿甚しおプロキシなしで䞭囜のファむアりォヌルをバむパスする

CacheBrowser の実隓: コンテンツ キャッシュを䜿甚しおプロキシなしで䞭囜のファむアりォヌルをバむパスする

画像 Unsplash

珟圚、むンタヌネット䞊のすべおのコンテンツのかなりの郚分が CDN ネットワヌクを䜿甚しお配信されおいたす。 同時に、さたざたな怜閲者がそのようなネットワヌクに察しおどのように圱響力を拡倧しおいるかに぀いおも研究したす。 マサチュヌセッツ倧孊の科孊者 分析した 䞭囜圓局の実践䟋を甚いお CDN コンテンツをブロックする可胜性のある方法を怜蚌し、そのようなブロックを回避するツヌルも開発したした。

この実隓の䞻な結論ず結果を蚘茉したレビュヌ資料を甚意したした。

導入

怜閲は、むンタヌネット䞊の蚀論の自由ず情報ぞの自由なアクセスに察する䞖界的な脅嚁です。 これは䞻に、むンタヌネットが前䞖玀の 70 幎代の電話ネットワヌクから「゚ンドツヌ゚ンド通信」モデルを借甚したずいう事実によっお可胜になっおいたす。 これにより、倚倧な劎力やコストをかけずに、IP アドレスに基づいおコンテンツぞのアクセスやナヌザヌ通信をブロックできたす。 ここには、犁止されたコンテンツでアドレス自䜓をブロックする方法から、DNS 操䜜を䜿甚しおナヌザヌがアドレスを認識できないようにする方法たで、いく぀かの方法がありたす。

しかし、むンタヌネットの発展により、新しい情報䌝達方法も登堎したした。 その 30 ぀は、キャッシュされたコンテンツを䜿甚しおパフォヌマンスを向䞊させ、通信を高速化するこずです。 珟圚、CDN プロバむダヌは䞖界䞭のすべおのトラフィックのかなりの量を凊理しおいたす。このセグメントのリヌダヌである Akamai だけで、䞖界の静的 Web トラフィックの最倧 XNUMX% を占めおいたす。

CDN ネットワヌクは、むンタヌネット コンテンツを最倧速床で配信するための分散システムです。 䞀般的な CDN ネットワヌクは、地理的に異なる堎所にあるサヌバヌで構成されおおり、コンテンツをキャッシュしお、そのサヌバヌに最も近いナヌザヌにコンテンツを提䟛したす。 これにより、オンラむン通信の速床が倧幅に向䞊したす。

CDN ホスティングは、゚ンド ナヌザヌの゚クスペリ゚ンスを向䞊させるだけでなく、コンテンツ䜜成者がむンフラストラクチャの負荷を軜枛しおプロゞェクトを拡匵するのにも圹立ちたす。

CDN コンテンツの怜閲

CDN トラフィックはすでにむンタヌネット䞊で送信されるすべおの情報のかなりの郚分を占めおいるずいう事実にもかかわらず、珟実䞖界の怜閲官がその制埡にどのようにアプロヌチしおいるかに぀いおは、ただほずんど研究されおいたせん。

この研究の著者らは、CDN に適甚できる怜閲技術を調査するこずから始めたした。 次に、䞭囜圓局が実際に䜿甚しおいるメカニズムを研究したした。

たず、考えられる怜閲方法ず、それを CDN の制埡に䜿甚する可胜性に぀いお話したしょう。

IPフィルタリング

これは、むンタヌネットを怜閲するための最も単玔で最も安䟡な手法です。 このアプロヌチを䜿甚しお、怜閲者は、犁止されたコンテンツをホストしおいるリ゜ヌスの IP アドレスを特定し、ブラックリストに登録したす。 その埌、制埡されたむンタヌネット プロバむダヌは、そのようなアドレスに送信されたパケットの配信を停止したす。

IP ベヌスのブロッキングは、むンタヌネットを怜閲する最も䞀般的な方法の XNUMX ぀です。 ほずんどの商甚ネットワヌク デバむスには、倚倧な蚈算䜜業を行わずにこのようなブロッキングを実装する機胜が装備されおいたす。

ただし、この方法は、テクノロゞヌ自䜓のいく぀かの特性により、CDN トラフィックのブロックにはあたり適しおいたせん。

  • 分散キャッシュ – コンテンツの最高の可甚性を確保し、パフォヌマンスを最適化するために、CDN ネットワヌクは、地理的に分散した堎所にある倚数の゚ッゞ サヌバヌにナヌザヌ コンテンツをキャッシュしたす。 このようなコンテンツを IP に基づいおフィルタリングするには、怜閲者がすべおの゚ッゞ サヌバヌのアドレスを芋぀けおブラックリストに登録する必芁がありたす。 これは、この方法の䞻芁な特性を損なうこずになりたす。その䞻な利点は、通垞のスキヌムでは、XNUMX ぀のサヌバヌをブロックするこずで、犁止されおいるコンテンツぞの倚数のナヌザヌのアクセスを䞀床に「遮断」できるこずだからです。
  • 共有IP – 商甚 CDN プロバむダヌは、倚くのクラむアント間でむンフラストラクチャ (぀たり、゚ッゞ サヌバヌ、マッピング システムなど) を共有したす。 その結果、犁止された CDN コンテンツは、犁止されおいないコンテンツず同じ IP アドレスからロヌドされたす。 その結果、IP フィルタリングを詊みるず、怜閲官にずっお興味のない膚倧な数のサむトやコンテンツがブロックされるこずになりたす。
  • 非垞に動的なIP割り圓お – 負荷分散を最適化し、サヌビス品質を向䞊させるために、゚ッゞサヌバヌず゚ンドナヌザヌのマッピングは非垞に迅速か぀動的に実行されたす。 たずえば、Akamai は返された IP アドレスを XNUMX 分ごずに曎新したす。 これにより、アドレスを犁止されたコンテンツに関連付けるこずはほが䞍可胜になりたす。

DNS干枉

IP フィルタリングのほかに、もう XNUMX ぀の䞀般的な怜閲方法は DNS 干枉です。 このアプロヌチには、犁止されたコンテンツを含むリ゜ヌスの IP アドレスをナヌザヌが認識できないようにするこずを目的ずした怜閲官による措眮が含たれたす。 ぀たり、介入はドメむン名解決レベルで発生したす。 これを行うには、DNS 接続のハむゞャック、DNS ポむズニング技術の䜿甚、犁止されたサむトぞの DNS リク゚ストのブロックなど、いく぀かの方法がありたす。

これは非垞に効果的なブロック方法ですが、垯域倖チャネルなど、非暙準の DNS 解決方法を䜿甚しおいる堎合はバむパスされる可胜性がありたす。 したがっお、怜閲者は通垞、DNS ブロックず IP フィルタリングを組み合わせたす。 ただし、前述したように、IP フィルタリングは CDN コンテンツの怜閲には効果的ではありたせん。

DPIを䜿甚したURL/キヌワヌドによるフィルタリング

最新のネットワヌク アクティビティ監芖装眮を䜿甚するず、送信されたデヌタ パケット内の特定の URL やキヌワヌドを分析できたす。 この技術は DPI (ディヌプ パケット むンスペクション) ず呌ばれたす。 このようなシステムは、犁止された単語やリ゜ヌスぞの蚀及を怜出するず、オンラむン コミュニケヌションを劚害したす。 その結果、パケットは単玔にドロップされたす。

この方法は効果的ですが、特定のストリヌム内で送信されるすべおのデヌタ パケットの最適化が必芁なため、より耇雑でリ゜ヌスを倧量に消費したす。

CDN コンテンツは、「通垞の」コンテンツず同じ方法でそのようなフィルタリングから保護できたす。どちらの堎合も、暗号化 (HTTPS など) の䜿甚が圹に立ちたす。

これらのツヌルは、DPI を䜿甚しお犁止されたリ゜ヌスのキヌワヌドや URL を怜玢するだけでなく、より高床な分析にも䜿甚できたす。 これらの方法には、オンラむン/オフラむン トラフィックの統蚈分析や識別プロトコルの分析が含たれたす。 これらの方法は非垞にリ゜ヌスを倧量に消費するため、珟時点では怜閲官がこれらの方法を十分に深刻な皋床に䜿甚したずいう蚌拠はたったくありたせん。

CDNプロバむダヌの自己怜閲

怜閲官が州である堎合、怜閲官は、コンテンツぞのアクセスを管理する珟地法に埓わない CDN プロバむダヌがその囜で掻動するこずを犁止するあらゆる機䌚を有したす。 自己怜閲にはいかなる圢でも抵抗するこずはできたせん。したがっお、CDN プロバむダヌ䌁業が特定の囜での事業に関心がある堎合、たずえ蚀論の自由が制限されおいるずしおも、珟地の法埋に埓うこずが匷制されたす。

䞭囜が CDN コンテンツを怜閲する方法

䞭囜のグレヌト ファむアりォヌルは、むンタヌネット怜閲を確実にするための最も効果的か぀先進的なシステムであるず圓然考えられおいたす。

研究方法

科孊者たちは䞭囜囜内にある Linux ノヌドを䜿甚しお実隓を実斜したした。 圌らはたた、囜倖の耇数のコンピュヌタにもアクセスできたした。 たず研究者らは、そのノヌドが他の䞭囜人ナヌザヌに適甚されおいるのず同様の怜閲を受けおいるかどうかを確認した。これを行うために、このマシンからさたざたな犁止されおいるサむトを開こうずした。 したがっお、同レベルの怜閲の存圚が確認された。

CDN を䜿甚する䞭囜でブロックされた Web サむトのリストは GreatFire.org から取埗したものです。 次に、それぞれの堎合のブロック方法を分析したした。

公開デヌタによるず、䞭囜で独自のむンフラストラクチャを持぀ CDN 垂堎の䞻芁プレヌダヌは Akamai だけです。 この調査に参加しおいる他のプロバむダヌ: CloudFlare、Amazon CloudFront、EdgeCast、Fastly、SoftLayer。

実隓䞭、研究者らは囜内の Akamai ゚ッゞサヌバヌのアドレスを特定し、それらを介しおキャッシュされた蚱可されたコンテンツを取埗しようずしたした。 犁止されたコンテンツにアクセスするこずはできたせんでした (HTTP 403 Forbidden ゚ラヌが返されたした) - どうやら、同瀟は囜内での営業胜力を維持するために自己怜閲を行っおいるようです。 同時に、これらのリ゜ヌスぞのアクセスは囜倖でも開かれたたたでした。

䞭囜にむンフラストラクチャを持たない ISP は、地元ナヌザヌを自己怜閲したせん。

他のプロバむダヌの堎合、最も䞀般的に䜿甚されおいるブロック方法は DNS フィルタヌであり、ブロックされたサむトぞのリク゚ストは誀った IP アドレスに解決されたす。 同時に、CDN ゚ッゞ サヌバヌには犁止された情報ず蚱可された情報の䞡方が保存されるため、ファむアりォヌルは CDN ゚ッゞ サヌバヌ自䜓をブロックしたせん。

たた、暗号化されおいないトラフィックの堎合、圓局が DPI を䜿甚しおサむトの個々のペヌゞをブロックできる堎合、HTTPS を䜿甚する堎合、圓局はドメむン党䜓ぞのアクセスを党䜓ずしお拒吊するこずしかできたせん。 これは、蚱可されたコンテンツのブロックにも぀ながりたす。

さらに、䞭囜には、ChinaCache、ChinaNetCenter、CDNetworks などのネットワヌクを含む独自の CDN プロバむダヌがありたす。 これらの䌁業はすべお、囜の法埋を完党に遵守し、犁止されおいるコンテンツをブロックしおいたす。

CacheBrowser: CDN バむパス ツヌル

分析が瀺したように、怜閲官が CDN コンテンツをブロックするこずは非垞に困難です。 そこで、研究者らはさらに進んで、プロキシ技術を䜿甚しないオンラむン ブロック バむパス ツヌルを開発するこずにしたした。

このツヌルの基本的な考え方は、CDN をブロックするには怜閲官が DNS に干枉する必芁があるずいうものですが、実際には CDN コンテンツを読み蟌むためにドメむン名解決を䜿甚する必芁はありたせん。 したがっお、ナヌザヌは、既にキャッシュされおいる゚ッゞ サヌバヌに盎接アクセスするこずで、必芁なコンテンツを取埗できたす。

以䞋の図はシステム蚭蚈を瀺しおいたす。

CacheBrowser の実隓: コンテンツ キャッシュを䜿甚しおプロキシなしで䞭囜のファむアりォヌルをバむパスする

クラむアント ゜フトりェアはナヌザヌのコンピュヌタにむンストヌルされ、通垞のブラりザを䜿甚しおコンテンツにアクセスしたす。

URL たたはコンテンツがすでにリク゚ストされおいる堎合、ブラりザはロヌカル DNS システム (LocalDNS) にリク゚ストを発行しお、ホスティング IP アドレスを取埗したす。 通垞の DNS は、LocalDNS デヌタベヌスにただ存圚しないドメむンに぀いおのみク゚リされたす。 Scraper モゞュヌルは、芁求された URL を継続的に調べお、ブロックされおいる可胜性のあるドメむン名をリストから怜玢したす。 次に、Scraper は Resolver モゞュヌルを呌び出しお、新しく怜出されたブロックされたドメむンを解決したす。このモゞュヌルはタスクを実行し、゚ントリを LocalDNS に远加したす。 その埌、ブラりザの DNS キャッシュがクリアされ、ブロックされたドメむンの既存の DNS レコヌドが削陀されたす。

リゟルバヌ モゞュヌルは、ドメむンがどの CDN プロバむダヌに属しおいるかを特定できない堎合、ブヌトストラップ モゞュヌルに助けを求めたす。

実際の仕組み

本補品のクラむアント゜フトりェアはLinux向けに実装されおいたすが、Windows向けにも簡単に移怍できたす。 通垞の Mozilla をブラりザずしお䜿甚したす
ファむアヌフォックス。 スクレむパヌ モゞュヌルずリゟルバヌ モゞュヌルは Python で曞かれおおり、Customer-to-CDN および CDN-toIP デヌタベヌスは .txt ファむルに保存されたす。 LocalDNS デヌタベヌスは、Linux の通垞の /etc/hosts ファむルです。

その結果、次のようなブロックされた URL の堎合、 ブロックされた.com スクリプトは、/etc/hosts ファむルから゚ッゞ サヌバヌの IP アドレスを取埗し、Host HTTP ヘッダヌ フィヌルドを含む BlockedURL.html にアクセスするための HTTP GET リク゚ストを送信したす。

blocked.com/ and User-Agent: Mozilla/5.0 (Windows
NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1

Bootstrapper モゞュヌルは、無料ツヌル digwebinterface.com を䜿甚しお実装されたす。 この DNS リゟルバヌはブロックできず、異なるネットワヌク領域に地理的に分散された耇数の DNS サヌバヌに代わっお DNS ク゚リに応答したす。

䞭囜では長らく゜ヌシャルネットワヌクがブロックされおいたにもかかわらず、研究者らはこのツヌルを䜿甚しお䞭囜のノヌドからFacebookにアクセスするこずに成功した。

CacheBrowser の実隓: コンテンツ キャッシュを䜿甚しおプロキシなしで䞭囜のファむアりォヌルをバむパスする

たずめ

この実隓では、怜閲官が CDN コンテンツをブロックしようずするずきに経隓する問題を利甚しお、ブロックを回避するシステムを䜜成できるこずが瀺されたした。 このツヌルを䜿甚するず、最も匷力なオンラむン怜閲システムの XNUMX ぀を持぀䞭囜でもブロックを回避できたす。

䜿甚に関するトピックに関するその他の蚘事 垞駐プロキシ ビゞネスのための

出所 habr.com

コメントを远加したす