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

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



誰もこれを朜圚的な問題ず考えおいたすか 最初の問題は、セキュリティに関しおは垞にパフォヌマンスに぀いお文句を蚀うこずです。 メモリをリセットし、プログラムが入力/出力デバむスの機胜によっお制限されおいる堎合、これは問題ではありたせん。ハヌドディスクの機械郚品たたは他の䜕かが機胜するたで埅぀だけです。







しかし、プログラムがプロセッサに関連付けられおおり、おそらくメモリず非垞に集䞭的にやり取りし、デヌタを割り圓おたり解攟したりするこずを想像しおください。 この堎合、メモリをれロにするず、システムのパフォヌマンスが倧幅に䜎䞋する可胜性があり、支払いたくないセキュリティの代償になりたす。 通垞、これは実際問題ではありたせん。 しかし、誰もが知っおいるように、人々はパフォヌマンスを本圓に倧切にしおいるので、メモリをリセットするオプションは異論に出䌚う可胜性がありたす。



メモリをれロにする代わりに、デヌタを氞続ストレヌゞに到着するずきに暗号化するこずもできたす。 ぀たり、アプリケヌションがデヌタをSSDたたはHDDに曞き蟌む前に、デヌタが暗号化されたす。 その埌、プログラムの芁求に応じたデヌタが安定したストレヌゞから返されるず、RAMに入る前に動的に埩号化されたす。 この保護方法では、デヌタの暗号化ず埩号化に䜿甚したキヌを砎棄するず、攻撃者がこのデヌタをディスクから回埩できないこずが興味深いです。 暗号化を完党に信頌しおいるこずを前提ずしおいたす。



暗号化されたデヌタを曞いた堎所をすべお芚えおいない機䌚を䞎えおくれるので、これは非垞に良いこずです。 暗号化されたすべおのデヌタを再床遞択できるものず単玔に芋なすため、なぜキヌを捚おるのかず尋ねるかもしれたせん。



たずえば、スワップ暗号化オプションを備えたOpen BSDオペレヌティングシステムを考えたす。 この方法で、キヌをペヌゞファむルのさたざたなセクションに関連付けるこずができたす。 したがっお、コンピュヌタヌを起動するたびに、このOSは倚数の新しいキヌを生成したす。 コンピュヌタヌの電源を切るか再起動するず、スワップスペヌスの暗号化に䜿甚したすべおのキヌが倱われたす。 スワップは再利甚できるようになったず蚀えたすが、これらのキヌは忘れられおいるため、攻撃者はそこに保存されおいるものにアクセスできないず想定できたす。







孊生これらのキヌの゚ントロピヌはどのように割り圓おられ、それらを解読するこずは可胜ですか



教授これはいい質問です。 ここで䜿甚されおいる゚ントロピヌリ゜ヌスはわかりたせん。 Open BSDにはセキュリティに関する劄想がありたす。 したがっお、䟋えば、圌女はナヌザヌのキヌボヌドから入力されたデヌタから収集された゚ントロピヌプヌル、および他の同様のものを怜蚎しおいるず思いたす。 このOSがキヌを管理する方法がわかりたせん。 ただし、䜿甚する゚ントロピヌリ゜ヌスが予枬可胜な堎合、キヌ自䜓の゚ントロピヌ空間が圧瞮されるため、脆匱性が倧きくなるこずは間違いありたせん。



原則ずしお、このモデルはスワップ暗号化のみを提䟛したす。぀たり、キヌのRAMペヌゞがメモリからアンロヌドされるこずはないず想定されおいたす。 このペヌゞをメモリに固定するだけであれば、OSでこれを行うのは非垞に簡単です。 たた、メモリバスに連絡しおいる人や、カヌネルメモリペヌゞなどを「歩く」こずができる人ず䜕かをするのに圹立ちたせん。



孊生ブラりゞングの芳点から、これはプラむベヌトブラりゞングの埌に来る䟵入者から保護するのに圹立ちたす。これは、キヌを捚おる必芁がある堎合、キヌがメモリに残らないためです。



教授絶察に正しい。 これの良いずころは、実際にはスワップ暗号化はアプリケヌションの倉曎を必芁ずしないこずです。



孊生少し遡っお-デヌタがRAMに入る前に芋るず、メモリアヌティファクトが残っおいたすか



教授あなたの質問を正しく理解しおいれば、デヌタはディスク䞊で暗号化されおいたすが、クリアテキストでメモリに栌玍されるこずに悩たされたす。 スワップ暗号化の説明に戻りたす。 ディスクぞの暗号化されたデヌタ転送は、リアルタむムでRAMを衚瀺できる攻撃者から保護したせん。 したがっお、リアルタむムでRAMを衚瀺できないプラむベヌトブラりゞングセッションの埌に、攻撃者だけがあなたを悩たせおいる堎合、これは正垞に機胜したす。 しかし、あなたはそれが間違いなく正しいこずを蚀いたす-より良い甚語がないため、これを蚀っおみたしょう-RAM暗号化。 このようなこずをしようずしおいる研究システムがいく぀かありたす。 これはもう少し耇雑です。ある時点で、ハヌドりェアにアクセスするずきに、プロセッサヌが実際のデヌタで䜕かをしなければならないからです。 たずえば、addコマンドで䜕かをしたい堎合、プレヌンテキストでオペランドを枡す必芁がありたす。



暗号化されたデヌタに基づいお蚈算を行おうずする興味深い研究システムもいく぀かありたす。 映画「マトリックス」のように脳を爆発させたす。 しかし、RAMのデヌタ保護は通垞、安定したドラむブにあるデヌタの保護よりもはるかに匱いず蚀えば十分です。 ただ質問がありたすか







孊生プラむベヌトブラりゞングセッションの埌に行動する攻撃者に぀いお話したした。 しかし、ブラりザにパブリックモヌドタブずプラむベヌトモヌドタブがあり、プラむベヌトブラりゞングタブを閉じた埌、パブリックブラりゞングタブが開いたたたの堎合、ハッカヌはそこからメモリアヌティファクトに到達できたすか



教授これは興味深い質問です。講矩の最埌に、同様の攻撃方法に぀いお説明したす。 事実、プラむベヌトブラりゞングモヌドのほずんどの脅嚁モデルは、リアルタむムで攻撃者の存圚を瀺唆するものではありたせん。 蚀い換えれば、プラむベヌトブラりゞングをしおいるずき、同時にパブリックビュヌタブなどを持っおいる人は他にいないずいうこずです。 ただし、プラむベヌトブラりゞングモヌドの実装方法が十分に保護されおいないこずは事実です。



タブを開いおプラむベヌトブラりゞングを行い、しばらくしお閉じおコヌヒヌを飲みに逃げるずしたす。 ただし、たずえばFirefoxは、メモリ割り圓おなどの統蚈を保持したす。 したがっお、プラむベヌトブラりゞングタブのメモリがブラりザによっお収集されたすべおのガベヌゞにある堎合、アクセスしたURLなどをタブで確認できたす。 しかし、芁するに、ほずんどの攻撃者モデルは、あなたがプラむベヌトにむンタヌネットを閲芧するのに忙しいのず同時に攻撃者を意味するものではありたせん。



そのため、スワップ暗号化は、ブラりザやその䞊で実行されおいるアプリケヌションを倉曎せずに、いく぀かの非垞に興味深いセキュリティ機胜を提䟛するため、䟿利です。 実際には、スワップを暗号化する際にプロセッサを䜿甚するコストは、ディスクでパフォヌマンスを賌入するため、特にハヌドディスクがある堎合は䞀般的なI / O操䜜を実行する実際のコストよりもはるかに䜎くなりたす。 これは玔粋に機械郚品、ハヌドりェアのコストであるため、スワップ暗号化はパフォヌマンスにそれほど倧きな圱響を䞎えたせん。



したがっお、次に説明する攻撃者はWeb攻撃者です。これに぀いおは、講矩の冒頭で述べたした。 ここでは、攻撃者がナヌザヌがプラむベヌトブラりゞングモヌドでアクセスしようずしおいるWebサむトを制埡しおいるず想定されおいたすが、この攻撃者はナヌザヌのロヌカルコンピュヌタヌを制埡しおいたせん。 その際、Web攻撃から身を守るために2぀のセキュリティ察策方針がありたす。



たず、攻撃者にナヌザヌを特定させたくない。 識別ずは、攻撃者が1人のナヌザヌを自分のサむトにアクセスしおいる別のナヌザヌず区別できるこずを意味したす。



第二に、ナヌザヌがプラむベヌトブラりゞングモヌドを䜿甚しおいるかどうかを攻撃者に知らせるこずは望たしくありたせん。 講挔蚘事が曞いおいるように、Web攻撃者からの保護は実際にはかなり危険な䜜業です。



では、異なるナヌザヌを識別するずはどういう意味ですか 私が蚀ったように、グロヌバルな意味で、1人のナヌザヌがこのサむトにアクセスする他のすべおのナヌザヌずたったく同じように芋えるず想像できたす。 Web攻撃者が2぀の特定のこずのいずれかを行いたいずしたす。 最初の䟋は次のようになりたす。「耇数のナヌザヌがプラむベヌトブラりゞングモヌドでサむトにアクセスし、5番目、7番目、8番目の蚪問者でした。」 蚀い換えれば、これはいく぀かのプラむベヌトブラりゞングセッションのコンテキストでのナヌザヌ識別を意味したす。







攻撃者が望む2番目のこずは、パブリックモヌドずプラむベヌトモヌドでナヌザヌずブラりゞングセッションの間に接続を確立しようずするこずです。 䞀床パブリックビュヌでamazon.comにアクセスし、プラむベヌトビュヌで2回目に移動するずしたす。 攻撃者は、同じナヌザヌが䞡方のサむトにアクセスしたこずを本圓に発芋できたすか



孊生しかし、これはすべおIPアドレスに関連付けられおいたすか



教授はい、そうです。 これは優れた仮定なので、私たちの堎合、ナヌザヌはTorなどを䜿甚しおいないこずをお勧めしたす。 そのため、ナヌザヌのIPアドレスに基づいお構築できたす。 IPアドレスで簡単に識別できたす。 たた、あるIPアドレスから短時間の間にサむトに2回アクセスするず、同じナヌザヌがアクセスした可胜性が高くなりたす。



実際、Torのようなものを䜿甚する動機ずしお機胜したす。次の講矩でこのトピックに぀いお説明したす。 Torのこずを聞いたこずがないなら、それは基本的にあなたのIPアドレスのようなものを隠そうずするツヌルだず蚀うでしょう。 ブラりザはTorに基づくレむダヌのコレクションずしお想像でき、その䞊にプラむベヌトブラりゞングモヌドがありたす。 これにより、プラむベヌトモヌドではたったく提䟛できない利点が埗られたす。 したがっお、TorはIPアドレスの特定の匿名性を提䟛したすが、デヌタプラむバシヌ、特定の生掻時間、たたは同様のものを実際に提䟛するこずはできたせん。 Thorは、プラむベヌトブラりゞングモヌドを完党に実装するための必芁条件ではありたすが、十分条件ではありたせん。



興味深いのは、Torを䜿甚しおいる堎合でも、このブラりザの固有の特性を調べるこずでWebサヌバヌがナヌザヌを識別する方法がただあるずいうこずです。







次に、今日の最新のデモを玹介したす。 Panopticlickずいうサむトの䜿甚方法を芋おみたしょう。 このサむトに぀いお聞いたこずがある人もいたす。 これは、EFF-Electronic Frontier Foundation、Electronic Frontier Foundationによっお開始されたオンラむンプロゞェクトです。 このプロゞェクトの䞻なアむデアは、Webブラりザヌのさたざたな特性を分析するこずにより、ナヌザヌずしおナヌザヌを識別しようずするこずです。 私が蚀っおいるこずを正確に瀺したす。 このサむトにアクセスするず、「Test me」ボタンが衚瀺されたす。クリックしたす。







ほずんどのJavaScriptコヌド、ここではいく぀かのアプレットず少しのJavaが動䜜したす。



このサむトは私のブラりザから指王を取り、どれだけナニヌクな情報を持っおいるかを芋぀けようずしおいたす。



フォントを増やしおみたしょう。圌が知りたいこずの1぀は、䜿甚しおいるブラりザプラグむンの詳现であるこずがわかりたす。 したがっお、基本的にこのテストでは、Flashがむンストヌルされおいるかどうか、このFlashのバヌゞョン、Javaがむンストヌルされおいるかどうか、およびJavaのバヌゞョンを調べるコヌドを実行したす。







これらのすべおのプラグむンが同時に同じ画面に収たらないこずがわかりたす。 これらはすべお、私のブラりザヌがサポヌトするさたざたなプラグむンずファむル圢匏です。 グロヌバルな意味で、あなたが「安党な人」であるならば、これはあなたを悩たせるべきです。 ある特定の時間にこれらすべおのものを本圓に積極的に䜿甚する堎合、これは単なる悪倢です







最終的に、WebサヌバヌたたはWeb攻撃者は、ここに瀺されおいるコヌドを探し出し、ブラりザヌが䜿甚しおいるプラ​​グむンを特定できたす。 さお、巊偎のこれら2぀の列を芋るず、それは䜕ですか







最初の列は、識別された情報のビットです。 次の列はさらに興味深いものです。指定された数のブラりザヌのうち1぀だけが同じプラグむンのセットを持っおいるこずを瀺しおいたす。この堎合、27679のブラりザヌのうち1぀です。 だから、これは私の指王を取るためのかなり具䜓的な方法です。 この数字は、ブラりザのプラグむンずファむル構成がたったく同じである人が非垞に少ないこずを瀺しおいたす。

結局のずころ、圌らは正しい、私は完党にナニヌクな人物ですが、長期的には倧きなセキュリティ問題を匕き起こしたす。 テスト結果の残りを芋おください。







ここに私のラップトップの画面解像床ず色深床がありたす。これは150䞇台のコンピュヌタヌに察応しおいたす。 これはかなり衝撃的な発芋です。ずいうのは、150䞇人のナヌザヌのサンプルのうち、このような画面特性を持っおいるのは1人だけだからです。

したがっお、これらはある意味で付加的です。 指王が倚いほど、攻撃者が自分のサむトにアクセスしたのはあなたであるこずが簡単にわかりたす。 そしお、これはサヌバヌによっお排他的に行われたこずに泚意しおください。 私はこのペヌゞに行き、ボタンをクリックしただけです。 ちょっずだけ、もう1぀お芋せしたいず思いたす。 PanopticlickのWebサむトは非公開でログむンしたした。 次に、アドレスバヌからアドレスをコピヌし、Firefoxの通垞の公開バヌゞョンを開きたす。 その埌、このテストを再床実行したす。



私は再び泚意したす-今、私はパブリックブラりザモヌドであり、それ以前はプラむベヌトモヌドでした。 ブラりザのプラグむンを芋るず、ブラりザの指王の䞀意性むンデックスはほが同じたたです-27679.68に察しお27679.82です。 この違いは、プラむバシヌモヌドの実装方法に応じおロヌドされる堎合ずロヌドされない堎合があるいく぀かのプラグむンによっお生じたす。 しかし、芋おください-フィンガヌプリントはただ簡単です。 画面サむズず色深床を芋おください-これらのむンゞケヌタは、パブリック衚瀺モヌドずプラむベヌト衚瀺モヌドで違いはありたせん。



したがっお、䞡方のモヌドで指王を残す機胜はほが同じです。 これは、そのようなWeb攻撃から身を守るこずが非垞に難しい理由の1぀です。これは、構成内のブラりザヌ自䜓が、攻撃者による識別のために倚くの情報を保持しおいるためです。



孊生画面サむズず色深床のオプションに぀いお興味がありたす。 これはどのように起こりたすか なぜそんなにナニヌクなのですか 䞀般的にいく぀の画面サむズず色深床が存圚したすか



教授パノプティックリックがそれが䜕であるかを知るために䜿う魔法の䞀郚を実際に隠しおいるず思う。 䞖界的に、これらのテストの倚くはどのように機胜したすか ブラりザには、JavaScriptコヌドを䜿甚しおのみ衚瀺できる郚分がありたす。 したがっお、JavaScriptコヌドはJavaScriptの3次元画像であるりィンドりオブゞェクトのプロパティを調べ、りィンドり内のコヌドがこの奇劙なりィゞェット、隣接するりィゞェット、テキストパヌツ、プラグむンなどをどのように瀺しおいるかに気付くこずが想像できたす。 このようなペヌゞでは、JavaアプレットずFlashオブゞェクトが、コンピュヌタヌで䜿甚可胜なフォントなど、より興味深いものを探すこずができるずいう事実もよく䜿甚されたす。 したがっお、私は個人的に、画面サむズず色深床の䞀意性を刀断するず、次のこずが発生するず考えおいたすテストは、Javaでグラフィックカヌドたたはグラフィックむンタヌフェむスを芁求しようずするアプレットを起動し、ブラりザペヌゞを衚瀺するプロセスで䜜業のさたざたな偎面を亀互にチェックしたす



したがっお、このむンゞケヌタには実際には画面サむズず色深床以倖のものが含たれおいるず思いたす。単にこの名前をこの圢匏に枛らしたす。



これらすべおのトリックがどのように高レベルで機胜するかを以䞋に瀺したす。 そのため、JavaScriptを探玢しながら掘り䞋げるこずができる倚くの情報が衚瀺されたす。 次に、通垞より倚くのものにアクセスし、それらが芋぀けるこずができるものを芋るこずができるプラグむンの束を起動したす。 , .



それは明らかですか . , Tor, Tor – , IP- , — . !



. , , -. , , , , Firefox v10.7. , Firefox, . .



: Tor? ?



: , . , , , , , -. - , - .







: , , - Tor, Firefox .



: , - Tor. , «» Tor. , — IP, — , , , -.



, -, , , Firefox, - . - , . , - Firefox 10.7. , Firefox 10.7. HTML , . .



: , , . Tor , Firefox.



: , . , , , , . , Tor , Tor, , Firefox Java, .



– Tor , «» . , . – , , .

, ? – . , , ? , - . . , , ?







, . , . , , , iframe URL-, , iframe . . , iframe, , , , .



, , , , , . , , , , . . , . JavaScript JavaScript, . .



: , , ?



: , . , , , . , , -. , - , .







, , . , Amazon.com , . , , cookie , -, .



: , IP-.



教授はい、そうです。



: , , , IP- . , , .



: , . , , -, . JavaScript, iframe foo.com, iframe . , , , .



. , iframe, , .



, . , .



IP-, , , Tor IP-.



54:00



MITコヌス「コンピュヌタヌシステムのセキュリティ」。 18: « », 3





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



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