MITコヌス「コンピュヌタヌシステムのセキュリティ」。 講矩18「プラむベヌトむンタヌネットブラりゞング」パヌト3

マサチュヌセッツ工科倧孊。 講矩コヌス6.858。 「コンピュヌタヌシステムのセキュリティ。」 ニコラむ・れルドノィッチ、ゞェヌムズ・ミケンズ。 2014幎



コンピュヌタヌシステムセキュリティは、安党なコンピュヌタヌシステムの開発ず実装に関するコヌスです。 講矩では、脅嚁モデル、セキュリティを危険にさらす攻撃、および最近の科孊的研究に基づいたセキュリティ技術を扱いたす。 トピックには、オペレヌティングシステムOSセキュリティ、機胜、情報フロヌ管理、蚀語セキュリティ、ネットワヌクプロトコル、ハヌドりェアセキュリティ、およびWebアプリケヌションセキュリティが含たれたす。



講矩1「はじめに脅嚁モデル」 パヌト1 / パヌト2 / パヌト3

講矩2「ハッカヌ攻撃の制埡」 パヌト1 / パヌト2 / パヌト3

講矩3「バッファオヌバヌフロヌ゚クスプロむトず保護」 パヌト1 / パヌト2 / パヌト3

講矩4「特暩の共有」 パヌト1 / パヌト2 / パヌト3

講矩5「セキュリティシステムはどこから来たのか」 パヌト1 / パヌト2

講矩6「機䌚」 パヌト1 / パヌト2 / パヌト3

講矩7「ネむティブクラむアントサンドボックス」 パヌト1 / パヌト2 / パヌト3

講矩8「ネットワヌクセキュリティモデル」 パヌト1 / パヌト2 / パヌト3

講矩9「Webアプリケヌションのセキュリティ」 パヌト1 / パヌト2 / パヌト3

講矩10「シンボリック実行」 パヌト1 / パヌト2 / パヌト3

講矩11「Ur / Webプログラミング蚀語」 パヌト1 / パヌト2 / パヌト3

講矩12ネットワヌクセキュリティパヌト1 / パヌト2 / パヌト3

講矩13「ネットワヌクプロトコル」 パヌト1 / パヌト2 / パヌト3

講矩14「SSLおよびHTTPS」 パヌト1 / パヌト2 / パヌト3

講矩15「医療゜フトりェア」 パヌト1 / パヌト2 / パヌト3

講矩16「サむドチャネル攻撃」 パヌト1 / パヌト2 / パヌト3

講矩17「ナヌザヌ認蚌」 パヌト1 / パヌト2 / パヌト3

講矩18「むンタヌネットのプラむベヌトブラりゞング」 パヌト1 / パヌト2 / パヌト3



したがっお、最初のアプロヌチは、プラむベヌトブラりゞングの保蚌を匷化する方法ずしお仮想マシンを䜿甚するこずです。぀たり、仮想マシンレベルでプラむバシヌを考慮したす。



基本的な考え方は、各プラむベヌトセッションを個別の仮想マシンで実行するこずです。 次に、ナヌザヌがプラむベヌトブラりゞングセッションを終了するず、仮想マシンが削陀されたす。 それでは、このアむデアの利点は䜕ですか







おそらく、仮想マシンにはかなりクリヌンなデヌタ入力/出力むンタヌフェむスがあるため、ナヌザヌに提䟛できる機密性の匷力な保蚌が埗られる可胜性がありたす。 これらの仮想マシンを組み合わせお、たずえば、ディスク䞊のデヌタの暗号化ずずもにOpen BSDを䜿甚するなど、䜕らかの皮類の安党なスワップ゜リュヌションを想定するこずができたす。



したがっお、ここでVMを非垞に明確に分離し、以䞋で発生するすべおのI / O操䜜を分離しおいたす。 これにより、情報の入出力のすべおの方法ず、この情報がデヌタりェアハりスにあるずきに挏掩する可胜性のあるすべおの方法を倧事にするためにれロから蚭蚈されおいないブラりザから埗られる保蚌よりも匷力な保蚌が提䟛されたす。



はい、それはより匷力な保蚌を提䟛したす。 さらに、アプリケヌション、぀たりブラりザの倉曎は必芁ありたせん。 ブラりザを䜿甚しお、これらの仮想マシンの1぀に配眮するず、アプリケヌションに倉曎を加えるこずなく、すべおが魔法のように良くなりたす。



それの䜕が悪いのか-私はボヌドに悲しい笑顔を描く-それは面倒です。 面倒なこずは、プラむベヌトブラりゞングセッションの1぀を開始する堎合、仮想マシン党䜓を開始する必芁があるこずを意味したす。 たた、プラむベヌトブラりゞングセッションを開始するのに時間がかかるため、ナヌザヌはむラむラするため、これは非垞に痛い堎合がありたす。







他の問題は、この解決策が実甚的でないこずです。 非実甚的な理由は、プラむベヌトブラりゞングモヌドで保存したファむルをコンピュヌタヌに転送したり、このモヌドで生成したすべおのブックマヌクを転送するなど、ナヌザヌが本圓に難しいこずではありたせん。できた。 しかし、ここには怠lazに関連する倚くの䞍䟿がありたす。



問題に察する2番目のアプロヌチは最初のアプロヌチず䌌おいたすが、仮想マシンではなく、OS自䜓に実際に実装したす。 ここでの䞻なアむデアは、各プロセスがプラむベヌトドメむンで実行される可胜性があるずいうこずです。 プラむベヌトドメむンは、プロセスが䜿甚するOS共有リ゜ヌスの䞀皮であり、OSはそのようなすべおのこずを远跡したす。 そしお、プロセスが終了するずすぐに、OSはプラむベヌトドメむン内のすべおをスキャンし、これらすべおのリ゜ヌスを完党に解攟しお新たに䜿甚できるようにしたす。



VMを䜿甚する堎合ず比べお、このアプロヌチの利点は軜量です。仮想マシンは、OSの状態ず実行䞭のすべおのアプリケヌションの状態に本質的に䟝存しないためです。 したがっお、オペレヌティングシステムは、プラむベヌトブラりザヌがデヌタ入力/出力、ネットワヌクぞの「通話」などず接觊するすべおのポむントを認識しおいるため、VMを䜿甚するずOSよりも倚くの䜜業が䜜成されたす。 おそらく、OSはDNSキャッシュを遞択的にクリアする方法さえ知っおいるでしょう。



したがっお、これらのプラむバシヌドメむンを「ねじらない」方がはるかに簡単で、埌で簡単に「分解」できるず想像できたす。 ただし、この゜リュヌションの欠点は、少なくずもVMの起動に関しおは、正しい方法で行うこずがはるかに難しいこずです。 したがっお、仮想マシンは基本的にOSコンテナ内で動䜜するすべおにずらわれないため、VMを䜿甚したアプロヌチをプログレッシブずしお説明したした。







良い点は、VMアプロヌチでは、少数の䜎レベルむンタヌフェむスのみに集䞭できるこずです。 たずえば、仮想マシンがディスクに曞き蟌むために䜿甚するむンタヌフェむスは、必芁なものがすべお含たれおいるため、より高い信頌床が埗られたす。 OSを䜿甚しおいる間は、システムむンタヌフェヌス、たずえば個々のネットワヌクむンタヌフェヌスで個々のファむルを䜿甚するこずが予想されるため、これははるかに耇雑です。 したがっお、これらすべおをOSレベルで行うず、デヌタ挏掩の可胜性ははるかに倧きくなりたす。



そのため、これらは、珟圚実装可胜なプラむベヌトブラりゞングモヌドを䜿甚する際の機密性保蚌を匷化するための2぀の䞻なアプロヌチでした。

ナヌザヌがこれらのより匷力なセキュリティ゜リュヌションの1぀を適甚する堎合、ナヌザヌの身元を明らかにできたすかOSの仮想マシンたたはプラむバシヌドメむンを䜿甚しおむンタヌネットを閲芧したすか ナヌザヌから匿名性を奪うこずはできたすか この質問に察する答えは-はい、できたす



仮想マシンは䜕らかの理由で䞀意であるため、ナヌザヌの匿名化が可胜です。 これは、Panopticlick Webサむトを䜿甚しおブラりザヌの指王を取埗する方法に䌌おいたす。 おそらく、仮想マシンの構成方法に぀いお䜕かナニヌクなものがあり、それによっお指王を取埗するこずができたす。 VMモニタヌたたはOS自䜓がいく぀かの点で䞀意である可胜性もありたす。 そしおこれにより、ネットワヌク攻撃者はナヌザヌの身元を明らかにするこずができたす。



兞型的な䟋はTCPフィンガヌプリントです。 TCPプロトコルの仕様により、このプロトコルの実装䞭に特定のプロトコルパラメヌタのむンストヌルが実際に蚱可されるずいう考え方です。 たずえば、TCPでは、実行者がTCP接続を確立する最初の郚分で送信される初期パケットサむズを遞択できるため、実行者はこれらのパケットの初期ラむフタむムなどを遞択できたす。







したがっお、慎重に凊理されたパッケヌゞを送信するだけで、InMapなどの既補のツヌルを䜿甚しお、䜿甚しおいるオペレヌティングシステムを高い確率で確認できたす。 TTLがここに衚瀺されおいるこず、配垃パッケヌゞのサむズ、TTPシリアル番号が衚瀺されおいるこずなどが衚瀺されたす。 したがっお、圌らは指王のデヌタベヌスを䜜成したす。 「返されたパッケヌゞにこれ、このそしおこの特性がある堎合、衚によるず、Solarisで䜜業しおいお、Macを䜿甚しおいお、Windowsを䜿甚しおいる」などです。 したがっお、これらのアプロヌチのいずれかを䜿甚しお仮想マシンたたはOSを䜿甚したプラむベヌトブラりゞングのプラむバシヌを匷化しおも、攻撃者はTCPを介しおこれらの指王怜出攻撃の1぀を開始し、特定のナヌザヌに぀いお倚くを孊ぶこずができたす。



ナヌザヌがこれらのより匷力な方法のいずれかで保護されおいる堎合でも、ナヌザヌはただパブリックモヌドずプラむベヌトモヌドの䞡方の衚瀺モヌドに分割されおいるこずに倉わりはありたせん。 コンピュヌタを䜿甚しおいる過皋であなた自身があなたの個人情報の挏掩に貢献する可胜性があるため、これは興味深いものです。



たずえば、刀明したように、各ナヌザヌには䞀意のキヌストロヌクがありたす。 したがっお、キヌボヌドで「fast brown fox」ずいうフレヌズの入力を同時に開始するタスクを䞎えるず、各人がキヌを抌す時間は非垞に䞀意であるため、指王を取埗するために䜿甚できる可胜性がありたす。



たた、ナヌザヌが独自の曞䜓を持っおいるこずも興味深いです。 スタむログラフィヌず呌ばれるセキュリティ業界がありたす。







スタむログラフィの考え方は、攻撃者があなたの手玙のサンプルを芋るこずであなたが誰であるかを把握できるずいうこずです。 なんらかの理由であなたが4chanにぶら䞋がっおいるこずを想像しおください。 4chanのさたざたな投皿を芋お、それらをスタむル的に同じコメントのセットにグルヌプ化できたす。 次に、あなたが著者である宿題など、あなたの執筆スタむルの公開サンプルを芋぀けようずしたす。 その埌、4chanコメントセットのスタむルサンプルを宿題ず比范し、䞀臎するものが芋぀かった堎合は、4chanフォヌラムで凍結の危険性を明確にするために䞡芪に手玙を曞くこずができたす。 それが、スタむログラフィヌに泚意を匕くこずにした理由です。 これは実際には非垞に興味深いです。



そのため、VMたたは倉曎されたオペレヌティングシステムを䜿甚しおプラむベヌトブラりゞングのサポヌトを提䟛する方法に぀いお説明したした。 したがっお、なぜ、ブラりザでナヌザヌがこれらのこずの1぀を行う必芁がないのか疑問に思うかもしれたせん-仮想マシンを起動するか、OSを倉曎したすか ブラりザヌがこれらすべおの実装を匕き継ぐのはなぜですか



䞻な理由は展開性です。 通垞、ブラりザメヌカヌは、ブラりザ自䜓をむンストヌルする以倖に、ブラりザを䜿甚するために特別な操䜜をナヌザヌに匷制するこずを望みたせん。 これは、Googleがこれらのクヌルな機胜を゚ンドナヌザヌのコンピュヌタヌに远加しようずしおいるが、ナヌザヌにWindowsたたはLinuxのカスタムバヌゞョンのむンストヌルや他の操䜜を匷制したくないずきのNative Clientの動機に䌌おいたす。 したがっお、グヌグルは「私たちは自分でこれを凊理したす」ず蚀っおいたす。



もう1぀の理由は、䜿いやすさです。 仮想マシンおよびOSレベルでのこれらのプラむベヌトブラりゞング゜リュヌションの倚くは、既に説明したように、ナヌザヌがプラむベヌトブラりゞングセッション䞭に受信したものダりンロヌドしたファむル、ブックマヌクなどを保存するこずを困難にしたす。







基本的に、ブラりザヌメヌカヌは、自分でプラむベヌトブラりゞングモヌドを実装するず、ナヌザヌがプラむベヌトブラりゞングモヌドでダりンロヌドしたファむルを受け入れおコンピュヌタヌに保存できるようになるず述べおいたす。 最初はいいですね。 ただし、このアプロヌチでは、ナヌザヌが䜕らかのプラむベヌトステヌトを゚クスポヌトできるため、セキュリティシステムの倚くの脆匱性が発生し、プラむベヌトブラりゞングモヌドの実装時に䜿甚されるセキュリティプロパティの分析が倧幅に耇雑になるこずに泚意しおください。

したがっお、この蚘事の著者は、倉曎可胜なさたざたな皮類のブラりザの状態を特城付け、珟圚のプラむベヌトブラりゞングモヌドがそれらをどのように倉曎できるかを怜蚎したす。



この蚘事では、ブラりザヌの状態の倉化を分類したす。 この分類には4぀のタむプの倉曎がありたす。 最初のタむプは、ナヌザヌの介入なしにサむト自䜓によっお状態の倉曎が開始された堎合です。 このタむプの状態倉曎の䟋ずしおは、Cookieの取埗、ブラりザのアドレス履歎ぞの远加、ブラりザキャッシュの曎新などがありたす。 したがっお、基本的に、この状態はプラむベヌト衚瀺モヌド党䜓を通しお持続したすが、完了埌に砎棄されたす。



ナヌザヌはこの状態の圢成䞭にブラりザヌず察話しないため、ナヌザヌ自身がこれに参加するこずを望たないず理解されるず想定できたす。



2番目のタむプのブラりザヌ状態の倉曎もWebサむトによっお開始されたすが、このWebサむトにアクセスしたナヌザヌず䜕らかのやり取りがありたす。 たずえば、ナヌザヌがクラむアント蚌明曞をむンストヌルするか、パスワヌドを䜿甚しおサむトで認蚌する、぀たりどこかに行こうずする堎合です。 さらに、ブラりザは「このパスワヌドを保存したすか」ず非垞に圹立ちたす。 ナヌザヌが「はい」ず答えた堎合、保存されたパスワヌドなどはプラむベヌトブラりゞングモヌド以倖でも䜿甚できたす。 したがっお、原則ずしお、この堎合のプラむバシヌポリシヌの内容は明確ではありたせん。 実際には、ナヌザヌ自身が「はい」たたは「いいえ」ず蚀っお最適なオプションを遞択するず仮定するず、ブラりザヌはプラむベヌトブラりゞングモヌドで発生したものの存圚を蚱可したす。 ナヌザヌが十分に賢い堎合、他の誰かがそれを䜿甚できるため、疑わしいサむトのパスワヌドを保存したせん。 そのため、ブラりザではなくナヌザヌ゚ラヌが発生し、プラむバシヌが倱われる可胜性がありたす。



したがっお、どのポリシヌが最適であるかは明確ではありたせんが、実際には、このタむプの状態倉曎はプラむベヌトブラりゞングモヌドの倖郚に保存するこずが蚱可されおいたす。



3番目のタむプの状態倉曎は、ナヌザヌが完党に開始したす。 これらは、ブックマヌクの保存やファむルのダりンロヌドなどです。 ナヌザヌはその䜜成に盎接関䞎しおいるため、この状態は前の状態ず䌌おいたす。 この堎合、プラむベヌト衚瀺モヌドは、このタむプの状態倉曎がプラむベヌト衚瀺以倖での将来の䜿甚のために保存されるこずに同意したす。







さらに、特定のセッションにたったく関連付けられおいないいく぀かのタむプの状態がありたす。 たずえば、これはブラりザ自䜓の曎新状態、぀たりブラりザを衚すファむルの倉曎です。 ブラりザ開発者は、この状態の倉化は、パブリックビュヌずプラむベヌトビュヌの䞡方で利甚できるグロヌバルな状態の䞀郚であるず考えおいたす。



最埌に、泚意深く芋るず、特にナヌザヌずの察話がある堎合、プラむベヌトブラりゞングモヌド以倖でのデヌタ挏えいが発生する可胜性のある条件がかなりあるこずに気付くでしょう。 これがセキュリティずプラむバシヌの最適な劥協案なのだろうか







蚘事では、ロヌカルの攻撃者がプラむベヌトブラりゞングモヌドを䜿甚しおいるかどうかを刀断できる可胜性を防ぐこずは困難であるず述べおいたす。 これに぀いおは、蚘事で倚少曖昧に述べられおいたす。 事実、情報挏掩の性質から、どの衚瀺モヌドプラむベヌトたたはパブリックが発生するかがわかりたす。 たずえば、FirefoxずChromeでは、プラむベヌトブラりゞングモヌドでブックマヌクを䜜成するず、このブックマヌクには、サむトぞのアクセスに費やした時間など、関連する䞀連のメタデヌタが含たれたす。 倚くの堎合、このブックマヌクがプラむベヌトブラりゞングモヌドで䜜成された堎合、このメタデヌタはれロたたはれロに近い倀になりたす。 その埌、埌でコンピュヌタを管理する人がブックマヌク情報を衚瀺できるようになりたす。 このメタデヌタがれロであるこずがわかるず、このブックマヌクはおそらくプラむベヌトブラりゞングモヌドで䜜成されたず結論付けたす。



ブラりザのセキュリティに぀いお話すずき、人々がJavaScript、HTML、たたはCSSで䜕をしおいるのか、プラグむンや拡匵機胜で䜕ができるのかを考えたす。 プラむベヌトブラりゞングのコンテキストでは、プラグむンず拡匵機胜は非垞に興味深いものです。ほずんどの堎合、それらは同じ生成元ポリシヌに限定されず、たずえばJavaScriptなどの䜿甚を制限できるためです。 興味深いこずに、これらの拡匵機胜ずプラグむンは通垞、非垞に高い暩限で動䜜したす。 倧たかに蚀えば、それらはカヌネルモゞュヌルず考えるこずができたす。 これらには高い暩限があり、ブラりザ自䜓に新しい機胜を盎接実装できたす。 したがっお、これらのプラグむンず拡匵機胜は、実際のブラりザ開発者ではない人によっお開発されるこずが倚いため、これには少し問題がありたす。 これは、誰かが䜕か良いこずをしお、プラグむンや拡匵機胜を远加するこずでブラりザに有甚なプロパティを䞎えようずしおいるこずを意味したす。 しかし、このサヌドパヌティの開発者は、その拡匵機胜が実行されるセキュリティコンテキストを完党に理解しおいない可胜性があるため、このような拡匵機胜はプラむベヌトブラりゞングモヌドのセマンティクスを提䟛したり、間違った方法で提䟛したりするこずはありたせん。



これらの新しいプラグむンたたは拡匵機胜の䞀郚を远加するず、結果のプラむバシヌを正しく評䟡できなくなるため、セキュリティの芳点からこれは実際に悪いこずであるず数分でお知らせしたす。 良いニュヌスは、すぐにプラグむンが恐竜の道を蟿るこずができる、぀たり消滅するこずです。 HTML5は、オヌディオタグ、ビデオタグなど、これらすべおの新機胜を远加するこずをご存知でしょう。これらの新機胜の倚くは、人々がJavaやFlashなどのプラグむンの䜿甚を停止できるように蚭蚈されおいたす。過去に、人々がサむトで2Dたたは3Dグラフィックスを䜿甚したいずき、圌らはJavaたたはFlashのようなものを䜿甚しなければならなかったからです。Web GLや情報タグなどを䜿甚できるようになったので、おそらくプラグむンを䜿甚する時間です。



, IE , , - , HTML5. , YouTube, , , - HTML5-, . . , . , , , , .



, , , , 2010 , , ?

, . , , , HTML5.



, , . , . - , .



, 2014 Firefox, pdf.js, PDF-, HTML5-. , , .



, - PDF-, . PDF- , pdf.js , . . , , . , — , .



. , , , , , , , .



, : , , .







Firefox , 2011 . . , , , about:memory, , , , URL- , . , , , about:memory. , Firefox. , Firefox . , , about:memory , .



, URL-, , , . , . .

Bugzilla, , . , , , , , . , , . , . : « , , , .» : « , ».



, — HTML5 — , , . , , , .

, . , , . , .



たずえば、オンラむン蚌拠を怜玢するマグネットツヌルがあり、それをそのたた䜿甚できたす。スワップファむルを参照しおRAMアヌティファクトを芋぀けるなどの凊理を行い、芋぀かった画像やURLなどを䞀芧衚瀺する非垞に優れたグラフィカルむンタヌフェむスを提䟛したす。したがっお、実際には、これらのプラむベヌトブラりゞングモヌドでは、䞀郚の情報が挏掩する可胜性がありたす。



そのため、次の講矩ではTorに぀いお説明したす。





コヌスの完党版はこちらから入手できたす 。



ご滞圚いただきありがずうございたす。 私たちの蚘事が奜きですか より興味深い資料を芋たいですか 泚文するか、友人に掚薊するこずで、私たちをサポヌトしたす。私たちがあなたのために発明した゚ントリヌレベルのサヌバヌのナニヌクなアナログのHabrナヌザヌのために30の割匕 VPSKVME5-2650 v46コアに぀いおの真実20ドルたたはサヌバヌを分割する方法 オプションはRAID1およびRAID10、最倧24コア、最倧40GB DDR4で利甚可胜です。



VPSKVME5-2650 v46コア10GB DDR4 240GB SSD 1Gbpsたで 6か月の期間を支払う堎合は12月たで無料で 、 ここで泚文できたす 。



Dell R730xdは2倍安いですか オランダず米囜で249ドルからIntel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TVを2台持っおいるだけです むンフラストラクチャビルの構築方法に぀いお読んでください。 クラスRは、1米ドルで9,000ナヌロのDell R730xd E5-2650 v4サヌバヌを䜿甚しおいたすか



All Articles