ルヌトキットセキュリティの問題ず開発動向

珟圚、コンピュヌタヌ攻撃のベクトルが倧量感染から暙的を絞った暙的型攻撃に移行しおいるこずは明らかです。 E.カスペルスキヌが蚀ったように、「90幎代はサむバヌヒュヌリガンの10幎であり、1000分の2はサむバヌ犯眪者の10幎でした。今やサむバヌ戊争ずサむバヌテロの時代が来たした。」 この䟋ずしおは、Stuxnet、Duqu、Flamer、Gaussなどの有名な䟋がありたす。これらは、倚くのアンチりむルス䌁業がサむバヌ兵噚ずしおランク付けしおいたす。







コンピュヌタヌセキュリティの䞻な傟向



サむバヌ兵噚の䜿甚の顕著な䟋の1぀は、5月に政府機関、さたざたな研究機関、および倧芏暡な囜際䌁業から情報を積極的に抜出しおいるRed Octoberスパむネットワヌクです。 これらのオブゞェクトの深刻なセキュリティは、悪意のあるシステムの動䜜を停止したせんでした。 それはほんの数ヶ月前に公開されたしたが、これはあらゆるコンピュヌタヌシステムの動䜜における干枉の脅嚁の増倧を瀺しおいたす。





コンピュヌタヌシステム内で安定した怜出䞍胜な存圚を確保するために、悪意のある゜フトりェアマルりェアはルヌトキットメカニズムず呌ばれる特別なメカニズムを䜿甚したす。 その結果、マルりェアはナヌザヌず保護装眮の䞡方から芋えなくなりたす。



OS開発者は䞍正な゜フトりェアの隠蔜に絶察に抵抗する必芁があるように思われたすが、Windowsの新しいバヌゞョンが登堎しおも状況は倉わりたせんでした。 Eightは前身から、すでによく知られおいる保護メカニズムUAC、ASLR、DEP、PatchGuard、ドラむバヌのデゞタル眲名を採甚したしたが、回避策がありたす。 たた、いく぀かの新しいものを導入したした-セキュアブヌト、SMEP、およびELAM。ただし、セキュリティのレベルは倧幅には向䞊したせんでした。 Stoned LiteブヌトキットPeter KleissnerおよびUEFIブヌトキットAndrea Allieviのデモサンプルから明らかなように。 たた、Windows 8でSMEPテクノロゞヌをバむパスする可胜性に぀いおは、Positive TechnologiesのA. Shishkinがすでに曞いおいたす。



情報


British National Audit OfficeNAOの最近のレポヌトによるず、英囜だけで幎間180億から270億ポンドのコストがかかるサむバヌ犯眪の数が増加しおいたす bit.ly/14O9xy5 。




䞊蚘に基づいお、Windowsの最新バヌゞョンでは、マルりェアに察抗するための革新的なものは䜕も導入されおおらず、珟圚、ルヌトキット開発者の生掻を倧幅に耇雑にするきちんずしたメカニズムはないず結論付けるこずができたす。



システムの隠蔜メカニズム



マルりェアを隠すには、さたざたな方法を䜿甚できたす。 隠蔜メカニズムの分類は、たずステルスマルりェア分類の玹介でJoanna Rutkowskaによっお実行されたした。 圌女に提案された分類は、次のように拡匵できたす図1を参照。



図1.゜フトりェア隠蔜メカニズムの分類スキヌム



ステガノグラフィックメカニズムは、たずえば、名前ずシステムファむルの名前の類䌌性によっお、正圓なものずしお停装するこずにより、埋め蟌みオブゞェクトの真の目的を隠したす。 その結果、悪意のあるファむルはナヌザヌに衚瀺されたすが、ナヌザヌに疑わせるこずはありたせん。 ステガノグラフィの隠蔜の䟋ずしおは、信頌できる䌁業蚌明曞を䜿甚しお悪意のあるドラむバヌに眲名するこずがありたす。 RealtekおよびJMicronの有効な蚌明曞により、Stuxnetワヌムは長い間怜出されず、FlameワヌムのコンポヌネントはMicrosoft自身によっおデゞタル眲名されおいたした。



ステガノグラフィメカニズムは昇栌した特暩を必芁ずせず、Windows OSのさたざたなバヌゞョンに転送されたす。 ただし、技術的な隠蔜メカニズムがないため、このようなマルりェアは簡単に怜出および削陀できたす。 倧きな危険は、ステガノグラフィず他の隠蔜メカニズムの組み合わせです。



2番目のグルヌプには隠蔜の技術的メカニズムが含たれおおり、その結果、隠されたオブゞェクトに関する情報は怜出ツヌルにアクセスできなくなりたす「オブゞェクトは芋えない、぀たり存圚しない」。 これらのメカニズムは、OSの「内郚」ず「倖郚」で動䜜するルヌトキットメカニズムに分けるこずができたす。



「OS内」のルヌトキットメカニズムの堎合、オブゞェクトはプロセス、ドラむバヌ、ディスク䞊のファむル、ネットワヌクポヌト、レゞストリキヌなどです。 その䜜業のために、ルヌトキットメカニズムは、ナヌザヌずシステムの䞡方のアドレス空間で実行パスずメモリ構造の䞡方を倉曎できたす。



実行パスを倉曎するために、マルりェアは通垞のハンドラヌの機胜をむンタヌセプトし、制埡を悪意のあるハンドラヌに転送したす。これにより、返された結果に的を絞った倉曎が行われたす。 蚘茉されおいる隠蔜メカニズムを怜出する方法は、すでにゞャヌナルのペヌゞで取り䞊げられおいたす。



OSの「内郚」で動䜜するルヌトキットメカニズムの2番目のサブグルヌプは、新しいハンドラヌをシステムに远加したせんが、特別な方法で、非衚瀺オブゞェクトに関する情報を栌玍するメモリ構造を倉曎したす。 システムアドレス空間に配眮され、ルヌトキットに関係するこのような構造の䟋は、 KRPCB、 ETHREAD、 EPROCESS、MODULE_ENTRY、_DRIVER_OBJECT、およびSERVICES.EXEプロセスのナヌザヌ空間にある登録枈みドラむバヌずサヌビスのデヌタベヌスです。



「OS倖」のルヌトキットメカニズムは、独自のむンストヌル、たたは特定のプロセッサモヌドたたは远加のハヌドりェアでの既存のむベントハンドラの倉曎に基づいおいたす。 これらのメカニズムが機胜するには、必芁なテクノロゞヌをサポヌトするチップセットが必芁になるこずがよくありたす。 Active Management TechnologyずV-PROを䜿甚しお、ハヌドりェア仮想化モヌド、システム管理モヌド、およびコヌドに基づいお構築されたルヌトキットメカニズムを区別できたす。 狭いサヌクルで広く知られおいるR_T_Tの著者であるFlint Lawlessnessは、瀺されたテクノロゞヌだけでなく、プロセッサヌのマむクロコヌド曎新メカニズム bit.ly/VRQD6Oおよびbit.ly/104EsRB からの情報セキュリティぞの可胜性ず脅嚁に぀いおも説明しおいたす。



ルヌトキットを隠すための興味深いテクニック


2012幎のZeroNightカンファレンスでは、D。Oleksyuk別名Cr4shの䜜品が発衚され、ファむルではなく、Differentiated System Description TableDSDTを䜿甚しおレゞストリにルヌトキットを配眮する興味深い方法が説明されたした。 この方法の利点は、ルヌトキット怜出ツヌルがこの可胜性を考慮しおいないこずです。




ルヌトキット察策



前述の悪意のあるツヌルのほずんどは、䜜業にドラむバヌを䜿甚しおいたした。 この点で、非衚瀺のドラむバヌの存圚を怜出できる最も䞀般的なルヌトキット察策ツヌルを芋おみたしょう。



Windows 8での動䜜をサポヌトする人気のあるフリヌランスツヌルの䞭で、Gmer、XueTr、PowerTool、TDSSKillerKaspersky Labsを区別できたす。



非衚瀺のドラむバヌを怜出するずいう芳点から、Gmer、XueTr、およびPowerToolツヌルには、バむト怜玢を䜿甚しおメモリヌ内のドラむバヌ構造のフラグメントを芋぀ける類䌌の操䜜アルゎリズムがありたす。 ドラむバヌを怜出するためのTDSSKillerツヌルは、わずかに異なるリストを䜿甚したす。このリストには、暙準のWindowsツヌルを䜿甚しおドラむバヌをロヌドするずきに入力される情報が含たれたす。



必芁な構造のフィヌルドを倉曎し、察応するリストからそれらを削陀するず、システムずマルりェア自䜓の動䜜を䞭断するこずなく、ドラむバヌがこれらのツヌルから非衚瀺になりたす。 これにより、反䜜甚に耐性のあるルヌトキット察策がパブリックドメむンに存圚しないこずを宣蚀できたす。



ハヌドりェアおよび゜フトりェアのルヌトキット



゜フトりェアおよびハヌドりェアのルヌトキットは「OSの倖郚」で動䜜したす。 ハヌドりェア仮想化技術に基づいお構築された最も興味深いむンスタンス。 なんで たず、ドラむバヌを䜿甚しおむンストヌルできたす-さたざたなOSの通垞のメカニズムです。 第二に、このようなルヌトキットは、他よりも高いレベルのむベントをむンタヌセプトできたす。 第䞉に、それらはより良く文曞化されおいたす。 したがっお、それらをよりよく知るようになりたす。



2006幎以降、IntelずAMDは、ハヌドりェア仮想化テクノロゞヌをサポヌトするプロセッサヌのリリヌスを開始したした。 ハヌドりェアベヌスの仮想化テクノロゞヌたたはハむパヌバむザヌのみを䜿甚する゜フトりェアは、OSよりも特暩のある新しいモヌドで動䜜したす。 ハヌドりェア仮想化テクノロゞヌにより、組み蟌みのいく぀かの異なるハむパヌバむザヌを実行できたす。



ハむパヌバむザヌ゜ヌス-Windows x86甚ドラむバヌ


独自のハむパヌバむザヌを䜜成する最も簡単で簡単な方法は、既存のハむパヌバむザヌのいずれかをベヌスにするこずです。 マガゞンに接続されおいるディスクには、次の゜ヌスがありたす。

  1. BluePillバヌゞョン0.11および0.32は、AMDシステムのハむパヌバむザヌのデモサンプルであり、公開埌、ハヌドりェア仮想化による情報セキュリティの脅嚁に関する幅広い議論が始たりたした。
  2. vmxcpuは、すぐに䜿甚できるIntelプロセッサ甚のSh。Embletonハむパヌバむザヌスタブの゜ヌスコヌドです。
  3. Invisible Laneil-vmxcpuに基づいお䜜成された、䜜成者の非衚瀺ハむパヌバむザヌの゜ヌスコヌド。 隠蔜は、プロセッサのTSCクロックカりンタヌを危険にさらすこずによっお実行されたすが、劥協の量は1クロックサむクルの粟床で蚭定できたす。




䞀方で、仮想マシンモニタヌずしお機胜するハむパヌバむザヌは、コンピュヌタヌのサヌビス機胜を向䞊させ、運甚コストを削枛したす。 そのおかげで、異なる仮想マシンの耇数のOSを1台のコンピュヌタヌで同時に起動できたす図2。



図2。 2぀のハむパヌバむザヌが存圚しない存圚する堎合のオペレヌティングシステムずハヌドりェア間の盞互䜜甚のスキヌム仮想マシンのモニタヌの機胜ず合法的であり、非埋め蟌みの圢匏である



ただし、䞀方で、ハむパヌバむザヌを暗黙的に導入するこずもできたす。ハむパヌバむザヌは、機胜が制埡されおおらず、情報セキュリティに察する脅嚁ずなる゜フトりェアブックマヌクです。



パブリックドメむンには、ハむパヌバむザヌをナヌザヌに透過的にむンストヌルするドラむバヌずしお実装されたBluePillずVitriolの2぀の゜フトりェアツヌルがありたす。



ハむパヌバむザヌは、䌁業党䜓Komoku、North Security Labsなどおよび個々の専門家によっお発芋されたした。 マむクロ゜フト自䜓でさえ、ハむパヌバむザヌを怜出するためのむンタヌフェむスを公開しおおり、ナニットをEAXレゞスタに曞き蟌んだ埌、CPUID呜什を実行する必芁がありたす。 次に、ECXレゞスタの31ビットの倀を確認したす。 蚭定されおいる堎合、システムにハむパヌバむザヌが存圚し、その機胜に関する情報がHV_CPUID_RESULT構造䜓で送信されたす。 ただし、この方法は䟵害から保護されおいたせん。



ハむパヌバむザヌの普及率にもかかわらず、それらを怜出するための定期的なツヌルはなく、公開されたものには重倧な欠点がありたすハむパヌバむザヌが怜出に反察する堎合にハむパヌバむザヌを特定できないこず、および倚くのツヌルを䜿甚しお耇補するこずの䞍䟿さ。 レプリケヌションの利䟿性は、操䜜の党時間を通じお必芁な倖郚ハヌドりェアコンポヌネントの怜出手段がないこずず理解されおいたす。



ハむパヌバむザヌデバッグツヌル


ハむパヌバむザヌの仕様により、vDVMwareずWinDbgなどの䞀般的なデバッグツヌルの䜿甚が垞に蚱可されるずは限りたせん。代わりに、BochsたたはAMD SimNow゚ミュレヌタヌを䜿甚できたすが、構成は非垞に耇雑です。



䜿甚できるもの



  1. DbgPrintを介しおデバッグメッセヌゞを出力し、DbgViewを䜿甚しお衚瀺したす。 確かに、このメ゜ッドは、ハむパヌバむザヌのデバッグよりも、ハむパヌバむザヌの正しい動䜜を実蚌するために䜿甚できたす。
  2. デバッグメッセヌゞをCOMポヌトに送信したす。 このメ゜ッドはBluePillの䜜成者によっお䜿甚され、これらの関数の実装を゜ヌスに保持したす。
  3. PTI8蚺断ポストテストカヌドデバッグカヌドPCIアナラむザヌなどのデバッグボヌドを䜿甚したす。 コンピュヌタヌの電源を入れるず、このボヌドのLCDディスプレむにBIOS POSTメッセヌゞが衚瀺されたす。




ハヌドりェア仮想化テクノロゞヌを䜿甚するさたざたな゜フトりェアが広く配垃されおいるため、違法なハむパヌバむザヌは特に危険であり、正圓なハむパヌバむザヌを䜿甚しお組み蟌み仮想化の䜿甚を隠しおいたす。 オヌプン゜ヌスでは、耇数のネストされたハむパヌバむザヌを怜出する方法に関する情報はありたせん。



ハむパヌバむザヌの発芋方法の抂芁ず分類



ハむパヌバむザヌの怜出の問題は、すでに䜕床か議論されおいたす。 図 図3は、ハむパヌバむザヌを怜出するためのメ゜ッドの分類を瀺しおいたす。これに埓っお、すべおのメ゜ッドがプロアクティブずシグネチャに分けられたす。



図3.ハむパヌバむザヌの怜出方法の分類



䞀時的な怜出方法は、ゲストOSの指定されたむベントの凊理時間に関する統蚈が、ハむパヌバむザヌがロヌドされおいるかどうかに倧きく䟝存するずいう事実に基づいおいたす。ハむパヌバむザヌが存圚する堎合、むベントの凊理時間ははるかに長くなりたす。 この機胜は、䞭囜のハむパヌバむザヌが発芋されたずきに仲間R_T_Tによっお䜿甚されたした xakep.ru/post/58104 。 攻撃者がハむパヌバむザヌを隠蔜する手段を講じおいない堎合にのみ、ハむパヌバむザヌを比范的簡単に識別できたす。 タヌゲットを絞ったカりンタヌ䟵害が実行されるか、ハむパヌバむザヌが䞀時的にメモリからアンロヌドされるBluePillで䜿甚されたいわゆるBlueChickenテクノロゞヌ状況では、既知の䞀時的な方法ではハむパヌバむザヌを怜出できたせん。



これらの怜出方法の詳现な説明ず比范分析は、 bit.ly/ik_volumeに蚘茉されおいたす 。 マスク解陀むベントのリストを䜿甚した䞀時的な怜出方法に泚意を払いたす。



遞択されたメ゜ッドの堎合、ゲストOSのこのようなむベントは、OSからハむパヌバむザヌに制埡が垞に転送される呜什の実行になりたす。 そのような呜什の1぀がCPUIDです。 埌で説明するハむパヌバむザヌ怜出システムは、この特定の方法を䜿甚したす。



各方法を評䟡するために、ハむパヌバむザヌ怜出ツヌルを分析したした。比范結果を衚に瀺したす。 1.隠されおいないハむパヌバむザヌずは、このサンプルに怜出に察する耐性を提䟛するコンポヌネントがないこずを意味したす。 隠されたサンプルずは、このサンプルにそのようなコンポヌネントが存圚するこずを意味したす。 衚の䞭。 1蚘号「+」および「-」は、それぞれ指定された特性の存圚䞍圚を瀺したす。



è¡š1.ハむパヌバむザヌ怜出ツヌルの比范



分析の結果は、ハむパヌバむザヌを怜出する既存の方法にはいく぀かの欠点があるこずを瀺しおいたす。







以䞋は、これらの欠点がない、䞍正なハむパヌバむザヌを怜出するための著者の手法です。 以䞋を䜿甚しお実装できるハむパヌバむザヌが怜蚎されたす。







䟵入者によっお実装されたハむパヌバむザヌは、プロセッサクロックカりンタヌを䟵害し、メモリから䞀時的にアンむンストヌルするこずで怜出を打ち消し、ハむパヌバむザヌの構造を含むメモリダンプのコピヌを受信しないようにするこずも考慮されおいたす。



ディスカバリヌの前提条件



ハむパヌバむザヌの怜出に䜿甚できる芁因を特定するために、ハヌドりェア仮想化をサポヌトするプロセッサヌの比范分析が、ハむパヌバむザヌが存圚する堎合ず存圚しない堎合にハむパヌバむザヌによっお無条件にむンタヌセプトされた䞀連の呜什を実行するずきに実行されたした図4、aおよび4、b。



図4.䞍圚aおよび存圚bの堎合に無条件にむンタヌセプトサ実行するずの動䜜ロセッヌ切りえええええススりススりりススりりスりスススりりスミスりりスリスリスリスリスリスリス



ハむパヌバむザヌが存圚する堎合、トレヌスの絶察実行時間が増加するだけでなく、分散などの実行期間の統蚈的特性も増加したす。 この特城的な機胜が、提案された怜出手法の基瀎ずなりたしたここでは、プロセッサの動䜜モヌドず数孊的正圓化の間の切り替えスキヌムの詳现な分析がbit.ly/10nPPlYにありたす。



怜出技術ずその分析



怜出手法の本質は、ルヌトの継続時間の統蚈的特性を蚈算しおしきい倀ず比范するこずです。



トレヌス期間は、31番目のIRQL優先床レベルを䞊げたプロセッサTSCクロックカりンタヌを䜿甚しお、10個のCPUID呜什に぀いお枬定されたした。 実隓の結果は、さたざたな統蚈的特性が蚈算されたルヌトの期間の枬定デヌタを含む、サむズが1000 x 10のマトリックスでした。



衚を説明するため。図2は、ハむパヌバむザヌの䞍圚OTおよび存圚PRの堎合に぀いお、異なるPCで埗られた分散D̅f および4次モヌメント M̅fなどのむンゞケヌタヌの連続的な組み合わせのしきい倀を瀺しおいたす。



è¡š2.経路の期間のテスト統蚈のしきい倀ず、さたざたなPCで埗られた信頌確率



衚の最初の列。2぀の数字は、調べたPCのプロセッサモデルを瀺しおいたす。



  1. Intel Core 2 Duo E8200 with Windows 7
  2. Windows 7搭茉Intel Core 2 Duo E6300
  3. Windows Live CD XPDDDを搭茉したAMD Phenom X4 945。




最初の2台のPCは、䜜成者が開発したハむパヌバむザヌディスク䞊にある゜ヌスコヌドを䜿甚し、OSドラむバヌずしお実装されたした。



䞍正なハむパヌバむザヌを怜出するための提案手法は、衚に瀺すように、予備段階ず運甚段階の2぀の段階で構成されおいたす。 3手法の詳现な説明bit.ly/ik_volume。



è¡š3.䞍正なハむパヌバむザヌを怜出するための段階的な手法



この手法に察抗するには、隠されたハむパヌバむザヌは、䞀定の倀ではなく、ランダムな倀によっおサむクルカりンタヌの読み取り倀を劥協する必芁がありたす。そのため、䞀方ではルヌトの平均継続時間ず同等になり、他方ではルヌトの継続時間の広がりを安定させたす ただし、このようなランダム倉数の分垃則を遞択する問題は未解決のたたです。



確かに、この手法には欠点がないわけではありたせん衚4。



è¡š4.怜出手法の欠点ず可胜な解決策



未来を芋る



以前に話したこずすべお、これらの隠蔜ず発芋のテクニックはすべお今日に関連しおいたす。そしお、明日には䜕が期埅できたすかルヌトキット技術はどのような開発経路を取りたすか想像力に自由な手綱を䞎えるこずが可胜であり、想像力を次の領域で発達するず仮定する高い確率で



  1. . . .
  2. . , « », « », . IBM Smarter Cities , , .
  3. . .




私は、Getac軍事ラップトップbit.ly/Sf23yPのブックマヌクに捧げられたR_T_Tの仕事に蚀及せざるを埗たせん。そこで、プログラムのブックマヌクは、匷力なSoftICEデバッガをリリヌスしたCompuwareの゜フトりェアの圢で䜜成されたした。珟圚、この䌚瀟の同様のブックマヌクはタブレットで芋぀けるこずができたす。たずえば、高床な保護機胜を備えた新しいThinkPad 2は、プリむンストヌルされた゜フトりェア「Trusted Platform ModuleずComputrace Mobileを備えた゚ンタヌプラむズレベルのセキュリティ」ですでに販売されおいたす。



WWW


EFIルヌトキットに関する興味深い䜜業がOS Xの䞋で、Loukas Kによっお行われたしたbit.ly/Pe1Dkl。




たずめ



ご芧のように、ルヌトキットテクノロゞヌは静止しおいるわけではないため、それらを怜出するタスクはたすたす困難になっおいたす。これにより、それらは非垞に危険なサむバヌ兵噚に倉わり、気付かれずにいるこずができたすが、適切なタむミングで正確か぀臎呜的な打撃を䞎えたす。海倖のすべおの危険を認識しお、DARPAおよびIARPA米囜、DSTL英囜、DRDCカナダ、COSTIND䞭囜などの゜フトりェアブックマヌクの隠蔜および怜出の分野で研究に埓事する特別な䌚瀟を䜜成したした。すぐに、そしおわが囜では本栌的なサむバヌ軍隊が登堎するこずを期埅したしょう。䞀方、軍事郚門のセキュリティレベル防衛を読むは、望たれるものが倚く残されおいたす。



著者に぀いお


( igor.korkin@gmail.com ) — 05.13.19 « , ». , , . , , « » Positive Hack Days 2012.






2013幎5月5日付のHacker誌に最初に掲茉されたした。



ISSUU.comに公開する



ハッカヌを賌読する









PS []のために曞いお、知識ず興味深いアむデアを共有できたすか 教えおください:)。 私たちは手数料を支払いたすが、これが䞻な動機であっおはなりたせん。




All Articles