-
多くの大企業や一部の国では、通常、従業員や人々が特定の Web サイトにアクセスしたり、特定のネットワーク アプリケーションを使用したりすることを制限するために、何らかのアクセス制限が設けられています。制限方法には通常、ルーターの IP フィルタリングやプロキシ サーバーの強制使用が含まれます。
ルーターの IP フィルタリングとは、外部ネットワークまたは外部 IP のブラックリストをルーターに追加して、内部ネットワークまたは家庭内がこれらの外部ネットワークまたは外部 IP にアクセスできないようにして、アクセスを制限する目的を達成することを指します。プロキシ サーバーの使用を強制するフィルタリング方法は、通常、大企業でのみ適用されます。これは、内部ネットワークが外部ネットワークにアクセスするためにプロキシ サーバーを通過する必要があることを意味し、より複雑なフィルタリング メカニズムをプロキシ サーバーに実装できます。今回は主にIPフィルタリングの攻防についてお話します。プロキシサーバーの攻防については次回お話します。以下に、ネットワーク アクセスの攻撃と防御の継続的なエスカレーション プロセスについて説明します。
まず、ユーザーが特定の Web サイトにアクセスすることを禁止したい場合、ルーター管理者はルーターに IP フィルタリング ルールを設定し、これらの Web サイトの IP をブラックリストに追加できます。当然、ユーザーはこれらの Web サイトにアクセスできなくなります。
その後、ユーザーはプロキシ サーバーを使用して制限を回避し、これらのサイトにアクセスし続けるようになります。プロキシ サーバーの IP は数千あり、それらは常に変化するため、ネットワーク アクセスを制限する作業が受動的になります。
ただし、プロキシ サーバー プロトコルはクリア テキストであるため、ネットワーク データ パケットを監視し、自動収集および分類するプログラムを作成することで、ユーザーがどのプロキシ サーバーにアクセスしたかを把握し、プロキシ サーバーの IP を IP ブラックリストに自動的に追加できます。このように、通常のプロキシ サーバーは、アクセス制限を回避するために使用できます。アクセス制限を回避する方法は効果的ではなく、ネットワーク アクセス制限を回避する作業はかなり消極的な状況にあります。
そこで、プロキシサーバーのアドレスの検出を避けるために、暗号化されたプロキシソフトウェアが登場しました。ユーザーとプロキシ サーバー間の通信プロトコルは暗号化されているため、ネットワーク データ パケットをリッスンしてプロキシ サーバーの IP アドレスを単純に分析することはできません。またしても、ネットワーク アクセスを制限する取り組みは消極的な立場に置かれています。
ただし、暗号化プロキシ ソフトウェアもプロキシ サーバーと通信する必要があり、暗号化プロキシ サーバーの IP アドレスを知っている必要があります。したがって、暗号化プロキシ ソフトウェアは通常、起動時に暗号化プロキシ サーバーの IP アドレスを公開しているいくつかの場所にアクセスして、暗号化プロキシ サーバーの IP を取得します。その後、別のコンピュータを取り出して、暗号化エージェント ソフトウェアを起動し、そのコンピュータのネットワーク通信を監視するだけで、暗号化エージェントの IP アドレスが公開されている場所を知ることができ、公開に対して IP フィルタリングを実行できます。ポイント。また、暗号化エージェント ソフトウェアを自動的に起動し、データ パケットを自動的に監視し、暗号化エージェントの IP の公開場所の IP をブラックリストに自動的に追加するプログラムを作成することもできます。これにより、暗号化エージェント ソフトウェアは、暗号化エージェントの IP を取得できなくなります。暗号化エージェントの IP と暗号化エージェント ソフトウェアが無効になり、ジョブは再び非常に不利な立場に置かれます。
この状況に対処するために、暗号化プロキシ ソフトウェアは、プロキシ IP 公開ポイントにアクセスするトラフィックと非プロキシ IP 公開ポイントにアクセスするトラフィックを混合する必要があります。たとえば、暗号化されたプロキシ ソフトウェアが開始されると、最初に他の多数の Web サイトにアクセスし、次に他の Web サイトへのアクセスの 1 つでプロキシ IP 公開ポイントにアクセスします。これによりトラフィックが混合され、プロキシ IP 公開を取得できなくなります。ポイントの単純なネットワーク パケットの IP アドレス。傍受されたすべてのアドレスがブラックリストに追加されると、多くの Web サイトが誤ってブロックされることになります。ネットワーク アクセスを制限する取り組みは、再び不利な状況に陥ります。
次に、ネットワーク アクセスを引き続き制限するために、ネットワーク管理者は (公開ポイントの IP ではなく) 暗号化プロキシの IP をフィルタリングすることにします。暗号化エージェント ソフトウェアの起動後、暗号化エージェントを介して大きなファイルがダウンロードされ、比較的トラフィックの多い IP が暗号化エージェントの IP になります。この方法を使用しても、ネットワーク管理者は暗号化プロキシ ソフトウェアを自動的にブロックするプログラムを作成でき、ネットワーク制限を回避する作業は再び失敗します。
次に、暗号化されたプロキシ ソフトウェアも同じ考え方を採用し、プロキシ IP にアクセスするトラフィックを他のトラフィックと混合し、分散したトラフィックを均等に分割してプロキシ IP を継続的に変更することで、ネットワーク パケット トラフィック統計から暗号化されたプロキシ IP を取得できなくなります。人々は再びネットワーク アクセス制限を回避できるようになりました。ただし、トラフィックは均等に分割されるため、多くの場合、ネットワーク速度はそのほんの一部にすぎず、トラフィックのほとんどはネットワーク管理者を混乱させるプログラムによって消費されます。
この時点で、ネットワーク アクセスの攻撃と防御の戦いは終結したように見えますが、賢明なネットワーク管理者も無力ではありません。暗号化されたプロキシ ソフトウェアをリバース エンジニアリングすることによって、プロキシ IP の公開ポイントを見つけて、この公開ポイントをフィルタリングすることができます。ただし、ネットワーク トラフィックを分析し、プログラムを使用してフィルタリング用の IP を自動的に見つけることはできなくなりました。
最後に、リバースエンジニアリングを防ぐために、暗号エージェントソフトウェア自体がソフトウェア暗号化処理を行うため、リバースエンジニアリングが非常に困難になります。次に続くのは、ソフトウェア暗号化とクラッキングの間の知的な戦いです。
概要: ネットワーク トラフィックが難読化されていない場合、プログラムはフィルタリングに役立つ IP を自動的に見つけます。暗号化ソフトウェアが暗号化されていない場合、フィルタリングに有用な IP を見つけるリバース エンジニアリングが容易になります。暗号化プロキシ ソフトウェアの作成者は、ソフトウェアがクラックされると常に注意する必要があります。そのため、ネットワーク アクセスを制限する作業を実行するには、ソフトウェアを再クラックする必要があります。
著者の Twitter: @davidsky2012、著者の Google リーダー: https://www.google.com/reader/shared/lehui99