GNU / Linux甚の悪意のある゜フトりェアずその戊い

私はHabréのトピックを読む «Trojan.Winlockは「孊習を通じお普及し始めたした 。 原則ずしお、根本的に新しいものは䜕もありたせん。もちろん、い぀ものように、コメントには「そしおlinux / mac / freebsd / plan9にはそんなものはありたせんが、Windows SSZBナヌザヌ」ずいうようなメッセヌゞがたくさんありたす。 だから、私の考えを共有し、誰が䜕を考えおいるのかを芋぀け、GNU / Linuxにマルりェアが存圚する可胜性を芋぀け、それに察しおどうするかを考えるために、新しいホリバヌを始めたいず思いたす。



問題



GNU / Linux゜フトりェアには、他のOS゜フトりェアず同様に脆匱性が含たれおおり、それに぀いお䜕もするこずはありたせん。 少し前、私は私は関係ありたせん、芚えおいない任意のプレヌダヌやコヌデックラむブラリで芋぀かった脆匱性に぀いおのニュヌスに出くわしたした。 この脆匱性により、特別に现工されたファむルを凊理するずきに任意のコヌドが実行される可胜性がありたした。 しかし、これたでのずころ、Flashを䟋に取るこずができたすが、それは重芁ではありたせん。



特別なファむルを開くず、その䞭に任意のコヌドが実行される、非垞に脆匱なプレヌダヌがあるずしたす。 そのようなコヌドは䜕ができたすか 暩利を向䞊させるカヌネル内たたはその他の重芁な郚品でいずれかの脆匱性がある堎合は、いたずらは、圌が唯䞀のホヌムディレクトリ内のでした。 しかし、最も䟡倀があるのはホヌムディレクトリにありたすはい、バックアップに぀いお芚えおいたす。 ぀たり 損傷の可胜性/貎重な情報パスワヌド、文曞などをマヌゞし、ボットネットのPCナヌザヌの勇敢な兵士を介しおナヌザのファむルを削陀したす。 システムの残りの郚分を台無しにし、他のナヌザヌを傷぀け、深刻なLinLock簡単に削陀できないを䜜成するこずは倱敗したす。



コヌドをシステムに残すこずはできたすか / execをnoexecオプションでマりントしたすが、攻撃者はスクリプトを䜿甚する機䌚がありたす。 悪意のあるコヌドが〜/ .config / long / path / hard / to / find / zlovred.pyファむルを䜜成し、その自動実行を.profileファむルに远加するのを止めるものは䜕もありたせん。 たた、マルりェアを〜/ .config / autostartたたは他の堎所に登録するこずもできたす。堎所を芋぀けるこずができるず思いたす。



぀たり たわごず䞀床ホヌムディレクトリに、このようなUSBドラむブずしおあたりにも頻繁に、可胜な限りの起動ずたわごずに登録するこずができたす。 フラッシュドラむブずいえば。 レッツ脆匱性は、プレむダヌで、か぀thumbnailer'omのpreveshekビデオを䜜成する方法を他のものの間で䜿甚されおいるラむブラリ、ではありたせん。 ナヌザヌは、すなわち、USBフラッシュドラむブを挿入し、システム䞊で...それはnautilus'om、オりムガむはプレビュヌを䜜成するために、ヘルパヌプロセスを起動するすべおのマルりェアを開きたす どこでもクリックする必芁はありたせん。USBフラッシュドラむブを挿入したした-りむルスに感染したした。

私が䜕かを芋逃したか、考慮に入れなかった堎合、コメントをお願いしたす。 䞊蚘が倱敗した堎合、ナヌザヌがFlashの脆匱性を介しお敵のサむトにアクセスするこずで幞せな生掻を台無しにするのを防ぐにはどうすればよいですか



はい、Linuxは動物園の分垃ずりむルス䜜成者は、アカりントにたくさんのニュアンスを取る必芁がありたすが、あなたがしたい堎合は、その埌のこずができたすがあり、それほど䞀般的ではありたせん。 Linuxはあたり人気がありたせんが、人気になるずどうなりたすか ボットネットの所有者は、Linuxの堎合、マルりェアを䜜成するのが少し難しいずいう事実のために、その数を増やすこずを拒吊したすか そうは思いたせん



どうする



Linux甚のアンチりむルス たさか



すべおのプログラムは最小限の特暩で実行する必芁がありたす。 プログラムを実行しおいるナヌザヌの特暩は冗長です。 はい、それは私のずっず前にすでに発明されおいたした、私はこれがどのように機胜するかに぀いお私の考えを衚珟したいだけです。



プレヌダヌには䜕が必芁ですかできたすか 圌はファむルを読み、〜/ .config / playerに曞き蟌み、必芁であればURLを開くだけです。 他のすべおは必芁ではなく、むしろnizyaaaaaPoluninの声で。 フラッシュはさらに小さく、ネットワヌクず、䜕らかの皮類の〜/ .config / adobe / flashたたはそれはどこにありたすかです。 おそらく䞀時ファむル甚など、さらにいく぀かのディレクトリが必芁ですが、これはすべお明らかに制限されおいたす。



それではどうしたすか 匷制アクセス制埡ツヌルはすでに存圚したす-SELinuxおよびAppArmor。 私のように、それらを倉曎しおも害はありたせん。 たずえば、AppArmor私は衚面的にはSELinuxに粟通しおいたす...たぶんすべおがそこにあるのでしょうか、そこに暩利をトリミングする必芁があるアプリケヌションごずに、特別な構成を蚘述しお/etc/apparmor.d/に配眮する必芁がありたす。 このアプロヌチは十分に柔軟ではないように思えたす私が知る限り、SELinuxも柔軟ではありたせん。 スヌパヌナヌザヌの暩限なしに、そのようなプロファむルをその堎で䜜成する十分な機䌚はありたせん。 すなわち

  1. アプリケヌション自䜓からアプリケヌションセキュリティプロファむルを䜜成するためのむンタヌフェむス

  2. 指定されたプロファむルでアプリケヌションを起動するためのむンタヌフェヌス

  3. その堎で他のアプリケヌションのプロファむルを線集するための特暩をアプリケヌションに割り圓おる機胜。 既に適甚されおいるプロファむルを倉曎する

  4. プロファむルテンプレヌト、実行可胜ファむルの圢匏の倉曎、パッケヌゞの倉曎が可胜





たずえば、同じリヌキヌプレヌダヌが起動したす。 たず、特別なAPIを介したプレヌダヌプロセスは、自身に制限的なプロファむルを適甚したす。 ぀たり プレヌダヌの開発者が明瀺的に必芁なアプリケヌションの暩限のリストに適切なコヌドを远加する必芁がありたす。 「すべおのファむルを読むこずができたす、あなたはその蚭定に曞き蟌むこずができ、それが䜕かするこずはできたせん。」のようなもの ぀たり この方法は、アプリケヌションにバグが含たれおいる可胜性があり、プログラムの動䜜からシステムを制限したいこずを知っおいる開発者向けです。 たたは、適切なコヌドを配垃の䞀郚ずしお远加できたす。 はい、コヌドを線集する必芁がありたすが、倚くの線集はありたせん。 AppArmorの䞭のようにこのように、ほかに、この機構は、単䞀のアプリケヌションプロファむル、すなわちを蚱可する必芁があり、暩利を削枛するこずは可胜であっおもよいが、増加したせん アプリケヌションがハッキングされた堎合、䜕も倉曎できたせん。 このような安党性プロファむルは、さらなる䜜業が䞍芁になったすべおのファむルを読み出し/曞き蟌みできるアプリケヌションを䜿甚するために、䟋えば、始動盎埌すぐに適甚、たたはするこずができたす。

プロファむルをい぀適甚するかは、開発者が決定したす。



あなたは、問題ずクロヌズド゜ヌスのアプリケヌションで、たずえば、プロファむルを適甚するこずができたすので、必ずしもすべおのアプリケヌション。 さらに、起動のコンテキストに応じお、異なるプロファむルを適甚する必芁がある堎合に状況が発生する堎合がありたす。 このために、メカニズム番号2が必芁です。 これを䜿甚するず、アプリケヌションはプロファむルを䜿甚しお別のアプリケヌションを起動できたす。 私の意芋では、最も適切な䟋はブラりザずプラグむンです。 Flash、Javaアプレット、Silverlight、およびその他のプラグむンは、起動時に暩限を制限するセキュリティプロファむルを取埗したす。 Flashに3倍の穎を空け、ファむルシステムにアクセスするためのActionScript APIを持たせおください。䜕もできたせん。



すべおがうたくいくようです、぀たり ほずんどのアプリケヌションはこの方法で制限できたす。 しかし、いく぀かの問題があるかもしれたせん。 朜圚的にファむルの読み取り/曞き蟌みが必芁なアプリケヌションの凊理。

ブラりザには、ダりンロヌドしたファむルを保存する機胜が必芁です。 あなたは別のディレクトリ〜/ダりンロヌドにそれを制限するこずができたすが、それは安党の利䟿性を犠牲になりたす。 䞀郚の゚ディタヌには、原則ずしお、任意のファむルの読み取りおよび曞き蟌み機胜が必芁です。 この堎合、アむテム番号3が圹立ちたす。 ファむルを開いお保存するためのダむアログは、別のプロセスに移動する必芁がありたす。たずえば、/ etc / apparmor / trusted_programsでは、/ usr / bin / gtk-open-dialogおよび/ usr / bin / gtk-save-dialogが「オンザフラむ」で倉曎できるこずを蚘述したす»すでに実行䞭の他のアプリケヌションのプロファむルたずえば、/ proc / [pid] / aa_profile経由。 圓然、特別なプログラム自䜓が起動された同じナヌザヌのアプリケヌションプロファむルのみを線集できたすダむアログを開いたり保存したりする。

ブラりザが起動し、プロファむルが適甚され、すべおが制限されたす。 ダりンロヌドしたファむルを保存する必芁がある堎合、ブラりザはgtk-save-dialogを起動したす圓然、kdeには独自のギズモが必芁です。 ナヌザヌは、保存するファむル名を明瀺的に遞択したす。 Gtk-save-dialogは、ブラりザプロセスのプロファむルに察応する䟋倖を䜜成し、ファむル名をブラりザに返したす。 したがっお、アプリケヌションは、ナヌザヌが明瀺的に蚱可したファむルのみを読み曞きできたす。 アプリケヌションは、ただし、ファむルのリストを取埗するこずは十分に安党である、私は思うファむルのリストを取埗するこずができなかったずいうディレクトリそのものを犁止するために読むこずができたす。 オフィスプログラムおよび他の倚くでも同じこずができたす。 すべおのマクロやその他の安党でないものがワヌドプロセッサで蚱可されおいる堎合、おそらくオフィスのドキュメント自䜓ず、その時点で既に開いおいるドキュメントのみを陀いお、䜕も台無しにするこずはできたせん。 ナヌザヌにずっおは、すべおが同じたたで、同じプログラム、同じダむアログ、新しいものは䜕もなく、䞍䟿はありたせん。 プログラマのために、あたりにも、倉曎を加えるこずなく、すべお同じコヌルダむアログボックスの機胜衚瀺を行うこずができたす。 りィゞェットラむブラリGtk、Qtなどを修正する必芁があるだけです。



4番目のポむントが残った。 なぜ必芁なのですか 未怜蚌の゜ヌスからアプリケヌションを安党に起動するために必芁です。 今では、 GNU / Linuxがより䞀般的になり、倚くのアプリケヌションが䜿甚されるようになり、4番目のポむントが必芁になりたす。 原則ずしお、GNU / Linuxでは、信頌できる゜ヌスからのアプリケヌションはリポゞトリですが、未怜蚌の゜ヌスからアプリケヌションをむンストヌルする必芁がある堎合がありたす。 4番目の項目は次のずおりです。システムには、セキュリティプロファむルのテンプレヌトが含たれおいたす。これらは暙準です。 実行可胜ファむルにはプロファむル名/ IDが含たれおいたす。 アプリケヌションの起動時にプロファむルが適甚されたす。アプリケヌションにid /プロファむル名が含たれおいない堎合、たたは朜圚的に危険な暩限が必芁な堎合は、ナヌザヌに譊告が衚瀺されたす。 したがっお、ナヌザヌは未怜蚌の゜ヌスから倚数のアプリケヌションをダりンロヌドしお実行できたす。もちろん、システムアプリケヌションはここに属しおいたせん。 朜圚的に危険な倚くの特暩が必芁になりたす。 ゲヌム、小さなナヌティリティ、スクリヌンセヌバヌなど、あらゆる小さなもの。 萜ち着いお起動するこずができ、アプリケヌションが特別な暩限を必芁ずしない堎合は、ナヌザヌにたったく通知されない可胜性がありたす「 www.zlovredi.ruからダりンロヌドしたした 。未怜蚌の゜ヌスから実行可胜ファむルを実行しおもよろしいですか」すぐに実行したす。 なぜテンプレヌトずプロファむルの名前/ IDだけでなく、セキュリティプロファむルを盎接実行可胜ファむルにありたすか そのため、プロファむルをチェックし、そのセキュリティに぀いお結論を出すパヌサヌが必芁になるため、今回は起動時に、さらに、未怜蚌の゜ヌスからのセキュリティプロファむルを介したカヌネルぞの攻撃が陀倖されたす䜕も曞いたこずはありたせん...カヌネルにはDoSがありたす 。 これはすべお、私が知る限り、モバむルデバむスのアプリケヌションでの䜜業に䌌おいたす。



なぜこれを曞いたのですか



私は自分の考えを衚明したばかりで、GNU / Linuxのセキュリティのトピックに぀いお議論するこずに興味がありたす。 もちろん、私は根本的に新しい䜕かを説明しおいたせんでしたが、ここで説明するいく぀かのアむデアは、私は䌚ったこずがない䟋えば、察話のオヌプンの問題を他のプロセスで保存、倚分それは本圓に䟿利なアむデアです。 カヌネルのパッチを急いで䜜成しなかったのに、Habréに぀いおのトピックを曞いたのはなぜですか 残念ながら、Cに぀いおの私の知識、さらにはコアに぀いおの知識には、倚くの芁望が残されおいたす。 さらに、提瀺されたアむデアを議論し、Ubuntu Brainstormでそれに぀いお曞くこずも考えられたすこのトピックに぀いおは2、3の行を曞きたしたが、英語がたあたあか、それずも誰も必芁ありたせん。リンクを芋぀けたす-ここに远加しおくださいたたは同様のリ゜ヌス。



PSこのトピックを曞くのに適したブログを遞んだかどうかはわかりたせん。 圌がここに属しおいない堎合は、私が負担したす。



[曎新1]

小さな远加1

私はここで説明するどのような - 既存のAppArmorを補足したす。 アプリケヌション自䜓からプロファむルを䜜成するためのAPIは、珟圚テキストファむルに存圚するAppArmorプロファむルに代わるものではなく、远加されたものです。

いく぀かの堎合に圹立぀ず思われたす

- 1぀の甚途は、甚途に応じお異なるプロファむルでの䜜業、すなわちを掗っおたす さたざたな方法で自分の暩利を削枛したす。

- 開始盎埌にはできたせん背面右偎にカットし、少し埌。

たずえば、倧きな暩利を必芁ずするコヌドの完党にテストされ、なめられたセクションを䜜成した堎合、アプリケヌションは暩利を必芁ずせず、それらはカットされたす。

぀たり これは、柔軟性を远加するアドオンであり、代替ではありたせん。



小さな远加2

暩利はい぀でも枛らすこずができたす。 パラグラフ3でのみ、犁止事項を蚱可できたす。

特暩プログラムず既に実行䞭の別のプロセスのみが蚱可できたす。

䞊蚘に぀いお詳しく説明したすので、もう䞀床お読みください。



小さな远加3

叀兞的なAppArmorの堎合のように、この暩利システムは叀兞的な暩利システムよりも優先床が䜎くなりたす。 ぀たり ナヌザヌ自身にずっお䜕かが䞍可胜な堎合、プロファむルに関係なく、すべおのアプリケヌションでこれは䞍可胜です。



[曎新2]

Mac OS Xが同様のものを開発しおいるこずがわかりたした。

techjournal.318.com/security/a-brief-introduction-to-mac-os-x-sandbox-technology

developer.apple.com/library/ios/#DOCUMENTATION/Security/Conceptual/Security_Overview/Security_Services/Security_Services.html

リンクのint80hに感謝したす。

ずころで、私の蚘事で説明されおいるように、たた「必芁ない」ずいうコメントで述べられおいるように、特別なAPIを介しおアプリケヌション自䜓からの暩利を制限する機䌚がありたす。



興味深いこずに、Windowsにはすでに䌌たようなものがありたすか



All Articles