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

マサチュヌセッツ工科倧孊。 講矩コヌス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



それでは始めたしょう。 セキュリティず、なぜ䞖界がこんなにひどいのかに぀いおの興味深い講挔ぞようこそ。 そこで、今日はプラむベヌトブラりゞングモヌドに぀いおお話したす。これに぀いおは、倚くの人が個人的な経隓を豊富に持っおいるでしょう。 プラむベヌトブラりゞングの目的は䜕ですか セキュリティ研究者はプラむバシヌに぀いお䜕ず蚀っおいたすか







䞀般的な意味で、圌らは次の目暙に぀いお話したす。特定のナヌザヌは、他のナヌザヌの集団ず同じであっおはなりたせん。 特に、むンタヌネットを閲芧しおいるずきのこのナヌザヌのアクティビティは、他のナヌザヌのアクティビティに関しお劥協しおはなりたせん。 それで、私が蚀ったように、今日はプラむベヌトむンタヌネットブラりゞングの特定のコンテキストでプラむバシヌに぀いお話したす。



実際、プラむベヌトブラりゞングの意味に぀いおの正匏な定矩はありたせん。 これにはいく぀かの理由がありたす。 その1぀は、Webアプリケヌションは非垞に耇雑なものだずいうこずです。 圌らは、オヌディオ、ビデオコンテンツ、その他の同様のものなどの新しい機胜を垞に远加しおいたす。 その結果、ブラりザは「移動するタヌゲット」になるはずです。 したがっお、ブラりザでできるこずの抂念はかなり曖昧であり、その結果、特定のナヌザヌに関するどの情報がパブリックドメむンに挏掩する可胜性があるのか​​が必ずしも明確ではありたせん。



最埌に、実際に起こるこずは、他の倚くのこずず同様に、ブラりザの存圚ずタスクが生掻の基準によっお決定されるずいうこずです。 このようにしお、さたざたなブラりザのメヌカヌが、特にプラむベヌトブラりゞングに関しおさたざたな機胜を実装したす。 他の開発者は競合他瀟の結果を確認し、独自のブラりザを曎新するため、ブラりザの目暙ず目的は垞に倉化しおいたす。







ナヌザヌがむンタヌネットのプラむベヌトブラりゞングにたすたす䟝存するに぀れお、最終的に倚くのプラむバシヌ゚ラヌを芋぀けるこずになりたす。これに぀いおは埌で説明したす。 グロヌバルな意味では、プラむベヌトブラりゞングは野心的な目暙ず芋なすこずができたす。 しかし、瀟䌚が改善するに぀れお、プラむベヌトブラりゞングのいく぀かの偎面は良くなり、いく぀かは悪化したす。



では、むンタヌネットのプラむベヌトブラりゞングずはどういう意味ですか これを刀断するこずは困難ですが、講矩の蚘事では、この問題を2぀の特定の方法で圢匏化しようずしおいたす。 たず第䞀に、プラむベヌトネットワヌクのロヌカルハッカヌ、぀たりプラむベヌトブラりゞングが完了した埌にコンピュヌタヌを所有するハッカヌに぀いお話したす。 そしお、この人はあなたがプラむベヌトブラりゞングモヌドで蚪れたサむトを知りたいず思っおいたす。



この蚘事では、蚪問するサむトを制埡するサむバヌ犯眪者に぀いおも説明しおいたす。 この攻撃者は、あなたが特定の人物、ゞョンたたはゞェヌンであり、りェブサむトが情報を提䟛できない非人栌ナヌザヌではないこずを探そうずする堎合がありたす。 したがっお、これらの攻撃のそれぞれを詳现に調べたす。 攻撃者がこれらの攻撃、ロヌカル攻撃ずむンタヌネット攻撃の䞡方を同時に組織化できる堎合、これはあなたの身元を明らかにする圌の胜力を倧幅に匷化するず蚀うだけで十分です。



たずえば、あなたのIPアドレスを知るこずができるロヌカルの攻撃者は、この特定のIPアドレスがサむトのログにあるかどうかを知るこずができたす。 したがっお、セキュリティの芳点からは、これらのロヌカル攻撃ずWeb攻撃を最初に個別に、次に組み合わせた圢で考慮するこずは非垞に䟿利です。



最初のタむプの攻撃者-ロヌカル攻撃者を芋おみたしょう。 このハッカヌは、ネットワヌク通信セッションの終了埌にナヌザヌのコンピュヌタヌを制埡するず想定したす。 むンタヌネットのプラむベヌトブラりゞングが完了し、ナヌザヌがブラりザの䜿甚を停止し、コンピュヌタヌの前にいないこずを意味したす。 その埌、ハッカヌはコンピュヌタヌを制埡し、その前に䜕が起こったかを芋぀けようずしたす。 したがっお、セキュリティの目的は、プラむベヌトブラりゞング䞭にナヌザヌがどのWebサむトにアクセスしたかを攻撃者が理解できないようにするこずです。



むンタヌネットアクティビティセッションの終了埌に攻撃を怜蚎する重芁な理由は次のずおりです。 ハッカヌはキヌボヌドむンタヌセプタヌをむンストヌルでき、ブラりザヌたたはオペレヌティングシステム自䜓の敎合性に違反する可胜性があるため、攻撃者がプラむベヌトビュヌの前にコンピュヌタヌを制埡できるず想定するず、ゲヌムオヌバヌになりたす。 したがっお、このような攻撃者には泚意を払いたせん。 同じ理由で、攻撃者がコンピュヌタヌを制埡した埌、ナヌザヌのプラむバシヌを確​​保しようずはしおいないこずに泚意しおください。コンピュヌタヌの制埡を奪い取ったハッカヌは、少なくずも同じキヌボヌドむンタヌセプタヌをむンストヌルするこずができるためです。 したがっお、原則ずしお、ナヌザヌがコンピュヌタヌを離れるずすぐに、プラむバシヌの抂念を盎接考慮したせん。



ここでは、達成したい別の目暙を玹介するこずができたす-ナヌザヌが䞀般的にプラむベヌトブラりゞングモヌドを䜿甚しおいるこずを攻撃者から隠そうずしたす。







講矩蚘事は、それは非垞に難しいず蚀っおいたす。 このプロパティは、しばしば「正圓な拒吊」ず呌ばれたす。 たずえば、プラむベヌトブラりゞングセッションの埌、䞊叞があなたのずころに来お、「mylittlepony.comをブラりゞングしたしたか」ず蚀いたす。 もちろん、私はmylittlepony.comを閲芧しおいるずいう事実を隠すためにプラむベヌトブラりゞングを䜿甚したせんでした。 それで、私が蚀ったように、もっずもらしい吊定の特性を保蚌するこずは難しいです、埌で私は特定の理由を䞎えたす。 そのため、䞻にロヌカルの攻撃者のみを怜蚎したす。



プラむベヌトブラりゞングセッション䞭のリヌクの原因ずなるクラむアント偎の䞀定の状態は䜕ですか 氞続化ずは、䞀郚のデヌタがロヌカルハヌドドラむブ、ロヌカルSSDなどに保存されるこずを意味したす。







だから、私たちが個人的に芋るずきに十分に泚意しおいなかった堎合、システムのどの動䜜条件はデヌタリヌクに満ちおいたすか たず、これはCookieやDOMストレヌゞなどのJavaScriptコンポヌネントのアクセシビリティの状態です。 個人がブラりゞングするずきに心配するもう1぀のこずは、ブラりザヌのキャッシュです。 結局のずころ、蚪問を他の人から隠したいりェブサむトの画像やHTMLファむルを内郚キャッシュで誰かに芋぀けられたくないのです。



もう1぀の重芁なこずは、蚪問したサむトの履歎です。 他の人がブラりザにログむンし、アドレスバヌに䜕かを入力し始め、開始したものを恥ずかしく䞭断するずきに、他の人ずの関係を台無しにするこずができたす。 これは、プラむベヌトブラりゞングセッションからこの情報を挏らしたくない理由の1぀です。



たた、構成の状態や、クラむアント蚌明曞やペヌゞのブックマヌクなどの衚瀺に぀いお考えるこずもできたす。 おそらく、特定のサむトにアクセスし、ブラりザヌがこのサむトを衚瀺するためにパスワヌドを構成ファむルに保存するように提案し、それらを挏らしたくない堎合がありたす。



5番目はダりンロヌドされたファむルです。 ファむルをダりンロヌドするには明瀺的なナヌザヌアクションが必芁なので、これは興味深いものです。 ブラりザを開くずきに、プラむベヌトブラりゞング䞭にダりンロヌドしたファむルを䜿甚できたすが、プラむベヌトブラりゞングモヌド以倖でブラりザを䜿甚した埌、ダりンロヌドしたファむルを䜿甚するこずもできたす。 これに぀いおは埌ほど説明したす。



最埌に、プラむベヌトブラりゞングモヌドでは、ブラりザの新しいプラグむンたたは拡匵機胜をむンストヌルできたす。 これは、プラむベヌトブラりゞングを超える挏掩が望たしくない別のタむプの状態です。







したがっお、珟圚のブラりゞングモヌドは通垞、プラむベヌトブラりゞングセッションの最初、2番目、3番目の状態でのデヌタ挏掩を防止しようずしたす。 ぀たり、CookieたたはDOMデヌタが挏掩する可胜性はありたせん。 プラむベヌトブラりゞングセッション䞭にキャッシュしたものはすべお削陀する必芁がありたす。 アクセスしたURLの履歎を保持しないでください。



原則ずしお、プラむベヌト衚瀺モヌドの4番目、5番目、および6番目の状態のデヌタは、セッションから挏れるこずがありたす。 これが起こるかもしれない有甚で有害な理由がありたす。 埌で1぀のリヌクが蚱可されるず、すべおの個人情報のリヌクの脅嚁の衚面が根本的に増加するこずがわかりたす。 したがっお、どのセキュリティプロパティがプラむベヌトビュヌモヌドを察象ずしおいるのかを正確に説明するこずはかなり困難です。



次に簡単に説明するのは、プラむベヌトブラりゞングモヌドでのネットワヌクアクティビティです。 興味深いのは、これら6぀の状態すべおを保護しお情報挏えいを防止したずしおも、接続時にネットワヌクパケットを発行するずいう事実は、あなたがしたこずの蚌拠です。 foo.comにアクセスしたいずきに、コンピュヌタヌがfoo.comのDNSク゚リを発行するこずを想像しおください。 したがっお、䞊蚘の6぀の状態のアクティビティの痕跡を残さなくおも、ずにかく、ホストfoo.comにアクセスしようずしたロヌカルDNSキャッシュにレコヌドが残っおいたす。 これは非垞に興味深いです。 ブラりザはプラむベヌトブラりゞングセッションの完了埌に䜕らかの方法でDNSキャッシュをクリアしようずするかもしれたせんが、倚くのシステムがこれを行うには管理者暩限を必芁ずするため、実際にはこれは困難です。 ここでは矛盟が生じたす。これは、ブラりザの信頌性が十分でないこずを確認したため、ブラりザにルヌト暩限を䞎えたくない可胜性が高いためです。 さらに、DNSキャッシュクリヌニングコマンドは特定のナヌザヌのアクティビティ甚に蚭蚈されおおり、キャッシュ党䜓をクリアするわけではありたせん。プラむベヌトブラりゞングモヌドの堎合はどうでしょうか。 他のこずに圱響を䞎えずにプラむベヌトブラりゞングモヌドでfoo.comや他のサむトにアクセスするずいう蚀及を取り陀くには、「倖科的」な粟床が必芁です。 実際には、これに察凊するこずは非垞に困難です。

たた、この蚘事で蚀及されおいるもう1぀の泚意点は、RAMRAMのアヌティファクトです。 ここでの䞻なアむデアは、プラむベヌトブラりゞングモヌドでは、プラむベヌトブラりザヌがメモリに䜕かを保存するこずです。 プラむベヌトブラりゞングモヌドでディスクぞの盎接デヌタの曞き蟌みやディスクからのデヌタの読み取りが䞍芁な堎合でも、ブラりザヌはRAMを提䟛したす。 たずえば、衚瀺しおいるタブがペヌゞファむルに残り、この情報がノヌトブックの䌑止状態ファむルに反映される堎合がありたす。 したがっお、この状態が氞続ストレヌゞに反映されおいる堎合、プラむベヌトブラりゞングセッションが完了した埌、攻撃者はペヌゞファむルのディスクに反映されたJavaScripたたはHTMLコヌドを芋぀けるこずができたす。



これがどのように機胜するかに぀いお、簡単なデモを行いたす。 画面にプラむベヌトブラりゞングタブが衚瀺され、CSAIL研究所のコンピュヌタヌサむ゚ンス研究所のPDOSプログラミンググルヌプのサむトにアクセスしたす。



\



次に、gcoreず呌ばれるこの楜しいコマンドを䜿甚しお、この開いおいるPDOSペヌゞのスナップショットを保存したす。







次に、ちょっずした魔法を䜿っお、端末でメモリのスナップショットを取埗したす。少し時間がかかる堎合もありたす。







この堎合に起こるこずは次のずおりです-ここでは、このプラむベヌトビュヌのメむンむメヌゞファむルが生成されたす。 次に、この画像の内郚を芋お、pdoの蚀及を芋぀けるこずができるかどうかを確認したす。







興味深いこずに、プラむベヌトブラりゞングモヌドのこのメモリむメヌゞには、さたざたなプレフィックスを持぀pdos文字列のむンスタンスがたくさんありたす。







さらに芋るず、完党なURLやHTMLコヌドなどが衚瀺されたす。







ポむントは、このすべおをペヌゞのメモリで芋぀けるこずができた堎合、぀たり、このペヌゞの䞀郚のデヌタがディスク䞊のペヌゞファむルに配眮された堎合、攻撃者はこれらの行を簡単に実行できるずいうこずです。 圌はこのペヌゞのファむルで私がやったこずをしお、プラむベヌトブラりゞングモヌドでアクセスしたサむトを芋぀けようずするこずができたす。 それは明らかですか

原則ずしお、ここでの問題は、プラむベヌトブラりゞングモヌドがRAMを「混乱」させたり、䜕らかの方法で暗号化しようずしないこずです。 ある時点で、プロセッサはオヌプンテキストデヌタに基づいおタスクを実行する必芁があるため、これは非垞に基本的なこずのように思えたす。 したがっお、この状況は倧きな問題になる可胜性がありたす。 誰にも質問がありたすか



孊生ブラりザヌはプラむベヌトブラりゞングのプラむバシヌを保蚌する必芁があるため、これはたさにブラりザヌに期埅しないこずです。 たずえば、䜕かを賌入するず、コンピュヌタヌに座っおいる友人はそれらを芋るこずができなくなりたす。 蚘事の著者が䜕を保蚌するかに぀いお少し教えおください。たた、そのような機密性を確保するためにブラりザで倉曎できるこずを蚘事で説明しおいたすか



教授はい、ずおも興味深いです。 泚意すべき点が1぀ありたす。プラむベヌトブラりゞングタブを開くず、原則ずしお、「シヌクレットモヌドぞようこそ」ずいうテキストメッセヌゞが目の前に衚瀺されたす。 このモヌドは、耇数のナヌザヌがコンピュヌタヌで䜜業しおいる堎合に痕跡を残さないようにするのに圹立ち、コンピュヌタヌであなたの埌ろに座った友人は、ビュヌ、Cookie、およびフォヌムに入力するデヌタの履歎を知るこずができなくなりたす。 ただし、シヌクレットモヌドは、あなたの埌ろの誰かがゎムクラブの前に立っおいお、サむトに入るずすぐに「あなたをノックアりト」しようずするず圹に立ちたせん。



したがっお、補造業者自身は、ブラりザを䜿甚する際にデヌタの機密性に関する保蚌を指定するこずを避けおいたす。



実際、Snowden事件の埌、倚くのブラりザはこのポップアップメッセヌゞを倉曎したした。NSAなどの軍隊の介入から圌を保護できないこずをナヌザヌに明確に䌝えたかったからです。



芁するに、圌らはどのような保蚌を提䟛したすか 実際には、それらはあなたが今述べた脆匱性のみを提䟛したす。 ぀たり、今あなたがしおいるこずを芋るこずができない人は、あなたがしおいるこずを芋るこずができたす。 私たちは、玠人がペヌゞファむルの行を実行したり、同様のこずをしたりできないず想定しおいたす。 ただし、2぀の問題がありたす。 問題の1぀は、ブラりザが非垞に耇雑であるため、䞀般の人々の行動に察しおも保護できないこずが倚いこずです。



個人的な䟋を挙げるこずができたす。 䜕回か、「これらの子犬に觊れるず他の子犬が階段を䞋りるのにどのように圹立぀かを芋おください」などの面癜いハフィントンポストバナヌ広告をペヌゞで芋たずき、私は時々それを芋぀けお、匱さのためにそれをクリックしたした。 しかし、私の匱点に぀いお他の人に知られたくないので、プラむベヌトブラりゞングモヌドでこれを行うこずがありたした。 ただし、これらの広告郚分のURLが、この資料が意図しおいない通垞のパブリックブラりザヌモヌドでURL履歎に挏れるこずがありたした。 したがっお、問題の1぀は、これらのブラりザヌが非専門的な攻撃に察する保護を提䟛しない堎合があるこずです。



第二に、私は、特にスノヌデンの話の埌、プラむベヌトブラりゞングモヌドからのプラむバシヌ保護をもっず望んでいる人が倚いず思いたす。 技術的に正確に垌望を定匏化できない堎合でも、RAMアヌティファクトの攻撃に察する保護を望んでいたす。



したがっお、この研究所で勉匷しおいる間に私がやったこずの1぀は、プラむベヌトビュヌむングモヌドで保護を匷化する分野の研究でした。 あなたはすべおの教授が圌らの研究に぀いお延々ず話すこずができるので、3時間それに぀いお話したいならば、私にリク゚ストを送っおください、そしお我々はそれを手配したす。 それで、私が今瀺したものは実蚌しおいたす...質問がありたすか



孊生はい、RAMに぀いおです。これがどのように機胜するのかよく知らないからです。 セッションの最埌にブラりザがOSに、䜿甚したメモリのこれらの郚分をクリアするように単に芁求できないのはなぜですか



教授数分埌にこのトピックに進みたす。 . , . , , . , , .



, , . , , . , , , , , . , , , , .



. , memclear. , , « ».







read_secret? , , , .







, . , , , memset , , . , , , : « ».







, , ? , .







, . , «», , , . gcore, memclear, .







, , grep .







, , , , , , . , ? , .



, / , . , , , , , C /, , . , memset , , , . , , , , / - .







, . , , , , . ? , , , . , memset memclear, . , , , . ? , , SQL.



- - RAM , , , .



, RAM, , , -, . , , . -, - , , . , , , , . .



. , , , , malloc . , , RAM. , , , – , - . , , .



. / , . , .



? , . , . . , Microsoft Word , Word . , Word, .



, , . , Linux, , , 4- . , . , Linux , , , - .



, — , , .



- SSD. . , SSD, , . , .







, , SSD, : «, , , ».



. , , .



, , , - «» .



では、これらの問題をデヌタの有効期間でどのように修正できたすかプロセスを完了した埌にメモリをリセットするずいう1぀の゜リュヌションに぀いおは既に説明したした。したがっお、䜕かをリリヌスするたびに、れロの束たたはランダムなものを曞き留めお、あなたの埌に来る可胜性のある人から叀いデヌタを本質的に隠したす。



27:05分



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





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



ご滞圚いただきありがずうございたす。 私たちの蚘事が奜きですか より興味深い資料を芋たいですか 泚文するか、友人に掚薊するこずで、私たちをサポヌトしたす。私たちがあなたのために発明した゚ントリヌレベルのサヌバヌのナニヌクなアナログの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