Chrome 58パッチは同形攻撃保護





サイトhttps://www.arrӏe.com/には実際のSSL証明書があり(もちろんLet's Encryptから )、ブラウザで「信頼できるサイト」としてマークされています。 しかし、実際には、これはあなたが期待するものではありません。 これは、一部の最新のブラウザーがPunycodeではなくUnicodeでサイト名を表示し、ユーザーを誤解させるという概念のデモにすぎません。



Punycodeは、ASCIIの限られたサブセットを使用して、ホスト名でUnicode文字を表す方法です。 RFC3492で述べられているように 、Punycodeは、「ベース」文字の小さなセット(この場合はASCII)で構成される文字列が、より大きな文字セット(Unicode)で構成される一意の文字列である場合の、より一般的なBootstringアルゴリズムの実装オプションです。 たとえば、短.coドメインはxn--s7y.coになります。



前述のドメインhttps://www.ar.com/では 、ホストの最初の文字を、ASCII(U + 0041)ではなく、キリル文字「a」、キリル文字(U + 0430)に置き換えることができます。 これは、ブラウザ開発者とドメイン名レジストラが長い間戦おうとしてきた古きよき同型攻撃です。



理想的な世界では、ドメインレジストラはホモグラフィ攻撃を許可するドメインを登録しないでください。通常、すべてのブラウザーはホスト名をUnicodeで表示します。



世界は完璧ではないため、ブラウザ開発者は、こうした攻撃に対処する独自の方法を実装しています。 特に、バージョン51のChromeとバージョン22のFirefoxでは、ホストに異なるアルファベットの文字が混在している場合、Unicodeドメインオプションは非表示になります。 たとえば、 www.arrӏ.comで最初の文字をキリル文字に置き換えた場合、ブラウザにはアドレス「xn--pple-43d.com」が表示されます。



問題は、攻撃者が文字の一部ではなく、ドメインのすべての文字を別のアルファベットの文字に置き換えた場合、この方法が機能しないことです。 上記の「アップル企業」のドメインでは、5文字すべてがキリル文字に置き換えられます。 Punycodeでは、これは「xn--80ak6aa92e.com」であることがわかりますが、上記のように、ブラウザーはこのような攻撃から保護されていません。



偽のアドレスは、FirefoxとChromeの最近のバージョンの両方で見事に実証されています。 このフォントの大文字のキリル文字「Ӏ」は、ラテン語の「l」とまったく同じように見えます。











SSL証明書を見る場合にのみ、偽物を検出できます。







Internet ExplorerおよびSafariブラウザーは、この脆弱性の影響を受けません。 たとえば、IEタブにはPunycodeのサイト名がすぐに表示されます。



幸いなことに、Chrome開発者はこの脆弱性を解決するパッチを用意しました。 当初はChrome 59のバージョン用に準備されていましたが、Chrome 58に含めることを決定しました。 どうやら、このパッチの導入後、キャラクターが同じアルファベットに属している場合でも、フィッシングの可能性がある場合、ブラウザーはすべての「物議を醸す」状況でPunycodeのバージョンを示します。 これは、キリル文字のロシア語サイトのアドレスの一部が、理論的には、美しいUnicodeではなく、alwaysいPunycodeで常に表示されることを意味します。 たとえば、 http://sugar.com/xn —80aa2cbv.com/になります。 まあ、そのようなサイトの所有者は運が悪い。



Firefoxの同じパッチに関しては、状況は不明のままです。Bugzillaの対応するチケットは、最初は「クローズ」および「実行不可」(WONTFIX)としてマークされていましたが、現在は再開されています。 そのため、そこにパッチがリリースされることを期待しています。



Firefoxユーザーは問題を回避することしかできません。これを行うには、 about:config



network.IDN_show_punycode to true



設定に変更しnetwork.IDN_show_punycode to true



設定しtrue



。 その後、Firefoxはすべての国際IDNドメインをPunycodeとして表示します。 あまりエレガントではありませんが、他のオプションはありません。







いくつかの問題を回避する別の方法は、パスワードマネージャーを使用することです。 Punycodeのアドレスが保存されたものと異なるサイトに保存されたパスワードを入力することはできません。 したがって、少なくとも保存されたパスワードがフィッシングサイトのフォームに入力されていないことに気付くことができます-何かが間違っていると疑われるかもしれません。



一般に、Webページまたは電子メールメッセージで公開されているリンクには注意する必要があります。 そのような保護はなく、フィッシングサイトのアドレスは実際のアドレスとまったく同じように見える場合があります。



All Articles