■windowsのICS+PPPoEは、出来損ないの欠陥プログラム | パパケベックの総合ブログ

パパケベックの総合ブログ

ブログ記事の内容は、広帯域受信機、ニュース論評、競馬予想と結果、2015年1月からターゲットにされた遠隔テクノロジー犯罪について、パソコン・インターネットの話題、科学技術のニュースなどを書いている。ほかのブログサイトにもブログ開設している。

■windowsのICS+PPPoEは、出来損ないの欠陥プログラム

1 ICSの停止表示のない停止状態

2 PPPoEエラー678

==================

環境は、windowsXP+windows10のICS+ファイル共有+windowsXPのPPPoE


ICSは、インターネット接続共有サービス。

一つのパソコンに二つのLANデバイスを使って他のパソコンにインターネット接続をさせてやるルーター機能である。

ルーター機能であるため、他のパソコンからのパケットは、発信元ポート番号をICSのパソコンで別の発信元ポート番号に変換し、発信元のIPアドレス(ローカル内の)をICSを行っているパソコンのIPアドレスに変換して宛先に送る。

ICSをサービスしているパソコンがグローバルIPアドレスを取得していても、ルーター内のIPアドレスでも、宛先に送るポート番号とIPアドレスは、ICSを提供しているパソコンのものに変換する。

ICSサービスを提供しているパソコンのICSそのものは、何らかの原因で停止する。

その原因だが、不明だ。


その原因を示すような現象は、XPのICSでほかのパソコンにICSを提供する際に次のような現象を発生する。

フラッド攻撃中の現象・・・スリーウェイハンドシェイクを行うだけの接続要求を同じ宛先に行うものだが、スリーウェイハンドシェイクを含んだパケットは、おおよそ、1万パケット付近でICSが停止し(ICSサービスそのものは停止を表示していない)、発信元のパソコン(windows10)のパケットは、接続要求を出し続けている状態になる。

XP側のICSは、動作停止したのと同じ状態になり、XP配下のパソコンは、フラッド攻撃用の接続要求を出し続けるものの、XPの中に入るがインターネットには発信されない。


つまり、ICSは、度重なる接続要求に対して、スリーウェイハンドシェイクをほかのパソコンに対してインターネットとのやり取りを中継(ポート番号+IPアドレスの変換)するが、1万パケットで停止することは、ICSそのもののプログラムの欠陥だと推定可能ではないかと考えている。


別の条件らしい?(詳しくは分からない)が、1万パケットを経過後、ICSが停止した状態になり、そのまま観察していたら1分経過後ICSが突如開始し、フラッド攻撃のパケットを中継していた。その際いじくったサービス設定は、Routing and Remote Access。

Routing and Remote Accessは、以前から停止したままだったが、試しに自動開始に設定し、開始してみたらそんな現象があった。しかし、それは最初のころで以後、1分経過してもICSが回復することはなかった。


●フラッド攻撃プログラムのwinsocklost状態で複数起動を一気に停止してみる

その操作を行うと、次の現象が発生する。

XPのPPPoEリンク切断・・・・最初のころは、エラー番号が出た。PPPoEエラー678

エラー番号で検索すると、XPのPPPoE自体が仮想上のLAN(プログラムのLANデバイス)であるため、というものがあった。

PPPoEエラーが出た後、他のパソコンのパケットは、ポート番号を変換されず、宛先IPアドレスにも変換されず、発信元IPアドレスも変換されず、ICSを提供しているパソコンのインターネット側に繋がっているLANデバイスから発信元のパソコン(ICSの提供を受けているパソコン)のIPアドレス(168.168.0.***)のまま光端末(ブリッジ接続)に発信する。

しかも、ICSを提供しているパソコンの取得済みグローバルIPアドレスそのものは、光端末に記録があるらしく?インターネットからのパケットが届く。ーーーつまり、PPPoEが切断されたのにPPPoE接続で取得したグローバルIPアドレスは、そのまま生きているが、パソコンからPPPoEで取得したグローバルIPアドレスでインターネットにパケットを発信できないことになる。



PPPoEエラー678は、インターネットからのパケットが届くが、インターネットへのパケットは、届かないことを意味する。


なお、PPPoEエラー678が発生すると5分から10分くらいは、PPPoEアイコンで接続を再開しようとしても再開できない。どうしても再開するには、光端末の電源を落とし再投入するか、光端末にアクセスして接続設定の項目で設定済みの設定をクリックしてメインページの保存ボタンが点滅するのを待って保存をクリックする必要がある。


PPPoEエラー678が示す現象は、通常のPPPoE接続アイコンを切断操作するときの
「切断」と異なり、PPPoEエラー678による切断は、いわゆるグローバルIPアドレスの取得情報の抹消ができず、インターネットに対しては、PPPoE切断後も取得済みIPアドレスが生き続け(光端末)、それに対してパソコンは、その取得済みIPグローバルアドレスが使えない状態である。


●PPPoEエラー678での
wiresharkは?

特有のパケットが出る。

通常のPPPoEアイコンで切断操作では、次のように
切断する。


PPP LCP    Termination Request(パソコンから光端末へ)ーーー
PPP LCP Termination Ack(光端末からパソコンへ)ーーー
PPPoED Active Discovery Terminate (PADT)(パソコンから光端末へ)

まずパソコンがPPPoEを切断させてくれと光端末に要求し、光端末が了解を返し、パソコンが光端末に「了解」確認のパケットを送る。


PPPoEエラー678では次のようになる。

PPPoED Active Discovery Terminate (PADT)(パソコンから光端末へ)


ただそれだけで終わり。

パソコンのTermination Requestもなく、光端末のTermination Ackもなく、パソコンから一方的にActive Discovery Terminateのパケットを送るだけ。


パソコンが一方的に切断を宣言するだけだからパソコンは、取得したグローバルIPアドレスを使えなくなり、光端末は光端末でインターネットからやってきたものをグローバルIPアドレスを取得している(?)パソコンに送ることになる。




●関係性が不明だが、
「GDIリソースのリーク」にフラッド攻撃プログラムが多数発生させる


関係は不明だが、フラッド攻撃に使っているソフトは、時間が経過するとwinsocklostが発生する。つまり、フラッド攻撃用ソフトの欠陥がPPPoEエラー678を誘発?する?

ちなみに、関係性はないと思えるが、XPがインターネット接続状態である時の他のソフトの挙動は、
メモ帳で動作スムースだが、インターネット接続状態以外では、変換確定がかなり遅延したり、閉じる際の挙動(警告音など)も遅延する(警告音は、メモ帳を閉じ終えた以降に聞こえたりする。)。「ペイント」でも同様。

これは、パソコンの
PPPoEによる接続状態がメモ帳の動作に影響していると考えられる現象である。むろん、ICSも、と考えられる。

それらは、windows10でICSの動作停止に更新による変化が関係していることと何か関係づけられるものがある様子である。(windows10では、ICSを試しに使った経験しかないので不明)



●ICSが停止?でもブラウザが可能な場合


フラッド攻撃ソフトを複数開始、ICSが停止、パケットがインターネットに出なくなったが、場合によっては、ブラウザを起動したらブラウズが可能と言う場合がある。

むろん、どちらもできない場合もある。


●ICSの「停止していない表示」の停止はサービス再起動で再開する


フラッド攻撃のパケットがXPからインターネットに飛ばなくなった以降、ICSの再起動でICSが再開する。

ICSサービス再起動後、フラッド攻撃が再びICSの停止表示なしで停止する場合もある。


●ルーターなどが可能な同時セッション数


その数値は、16384らしいが、XPなどのコマンドプロンプトの操作でその数値と同じものがある。


net config server

「隠しサーバー                                No
最大ユーザー数                              5

各セッションのオープン ファイルの最大数     16384

アイドル セッション時間 (分)                15」


★ 各セッションのオープン ファイルの最大数     16384 ★

なお、XPのTCP同時接続数は、10?くらいだが、それを増やせるソフトがある。それで増やせば、イベントビューアで「セキュリティ制限を超えました」のような警告ログが記録されなくなる。


●フラッド攻撃ソフトの接続数設定

ちなみに、フラッド攻撃ソフトは、3000以上の接続数を設定すると、ICSが頻繁に停止する。それは、XP単独でからそのソフトを使った場合PPPoE切断現象は起こらないが、XP配下のXPのICSでつながっているwindows10でフラッド攻撃ソフトを使えば、PPPoE切断現象がそのソフトのwinsocklostになってからそのソフトを閉じる際に起こる。ーーー


つまり、PPPoE自体とICSとの絡みの問題がPPPoEエラー678の原因とも思える。

ICSは、出来損ないのルーター機能プログラムである。

むろん、ブラウズする限りでPPPoEエラー678の発生の経験はない。


●ICSによるXP配下のパソコンをルーティングする際のネット向けポート番号の特長

その特徴は、XP配下のパソコンのネット接続パケットをインターネット向けに発信する際は、6万台のポート番号しか使わない点である。

XPのネットパケットは、ネット向けに1000番台から使い始める。

XPとXP配下のwindows10の両方でフラッド攻撃するとXPからのものは、1000番台からポート番号を消費し、windows10のパケットは、6万台からのポート番号を消費する。65353まで使えば一回りする。


●XP配下のパソコンをLANカード直につないでもアクセスポイントを経由させても結果は同じ


これは、有線接続ならアクセスポイントを経由しても、直に接続しても結果は同じで、無線なら、アクセスポイントを経由しても結果は同じ。(XPの無線LANカードは使わない)

PPPoEエラー678は、フラッド攻撃を終了した後(ソフトを閉じた時)、発生時間も発生するかどうかも「まちまち」である。

エラー切断開始前の終了のパケットのやり取りは、接続数がかなりの数になるため、(16384以上だと思われる)ポート番号をざっと見た限りで言えば、新たな接続が使い済みのポート番号を使用している可能性がある。

フラッド攻撃ソフトの消費するポート番号は、特定IPアドレス向けに3000回指定するとポート番号は、3000以上消費する。理由は分からないが、3000回の接続数設定は、ポート番号60000から始まれば、63000だろうが、見た限りでは、複数ポートを1回分の接続分として使用しているように見えた。それは正確には見極めていない。

ただ、特定IPアドレスごとに3000回を指定し、5つの特定IPアドレスに設定して攻撃を開始すると、windows10側の使用ポート番号は、1000番台から始まるから問題ないが、XP側では、6万台のポート番号から始まるので65353番ポートまであれば、すでに複数IPアドレスの接続要求に使われるXPのポート番号が重複することになる。

XPがXP配下向けのパソコンに割り当てているポート番号は、60000から65353。

その際、重複ポートに対するXPのICSの挙動は、どんなものなのか不明だ。ただ、windows10での使用ポート番号は、1000番台から65353番まであるから、XPのICSは、windows10の発信ポートが複数に対して6万台以上のどれかを割り当てることになる。

XPのICSがルーター機能を発揮する時、フラッド攻撃中にはPPPoEエラー678は発生せず、フラッド攻撃ソフトを閉じた以降の通信終了パケットの大量のやり取りでPPPoEエラー678が発生するから、XPのICSそのものの挙動が「エラーのようなものを正常な切断にしない」ために起こり、したがって、ICSサービスの表示は停止中の表示にならず、インターネットからのパケットだけがやってくることになり、PPPoEが取得したグローバルIPアドレスは生き続けたまま、パソコンはグローバルIPアドレスで通信ができない(パケットを発信できない)状態になると思われる。


なお、ローカルエリアのIPアドレスでインターネットに向けて発信しても、それはネットに対して有効なアドレスではないから光端末かその先で破棄されると思われる。



■原因

PPPoEエラー678は、中途半端な切断になる。

そのエラーの原因には、ICSがかかわっている。言い換えれば、マイクロソフトの出来損ないのICS(ルータープログラム=仮想ルーター)がかかわっていると推定できる。


パソコン自体にICSは物理的にドッキングしていない=パソコンとルーターとの物理的な機器が一体化していない。


むろん、フラッド攻撃ソフトにも問題ありそうである。⇒「GDIリソースのリーク」

原因なのは、マイクロソフトの作製したICSとPPPoEにあると言える。ーーーエラーの発生環境は、パソコン複数台のICSとPPPoEを担うパソコン。

パソコン単体で発生するとなれば話が違ってくるが。ただ、たいていのパソコンユーザーは、PPPoEではなく、ルーター配下のパソコンである。ルーターがグローバルIPアドレスを取得する。その場合のICSは、単なるルーティングに過ぎない。なぜなら、PPPoEでグローバルIPアドレスを取得する必要がないからである。



============================
パケベックのハンドルネームで以下のブログをやっている。
コメントは、https://ameblo.jp/push-gci/のブログだけで対応することにした。
2019年10月10日。
ameba
https://ameblo.jp/push-gci/
fc2
http://keyhole276p3mhz.blog75.fc2.com/
livedoor
http://blog.livedoor.jp/push_gci/
ameba
https://ameblo.jp/papa-quebeck/
goo
http://blog.goo.ne.jp/push-gci
jugem
http://papa-quebeck.jugem.jp/
cocolog
http://papa-quebeck.cocolog-nifty.com/blog/
hatena
https://papaquebeck.hatenablog.com/
Twiter
https://twitter.com/Target_Quebeck