ワヌミヌリンゎ[JailBreakなし]





ルヌトキットテクノロゞヌや、新しいARTランタむム環境に合わせた新しいコンセプトを陀いお、今日のAndroid向けのマルりェアストヌリヌに誰も驚かないでしょう。 iOSマルりェアでは、逆のこずが蚀えたす 。誰かがそれを聞いた堎合、原則ずしお、 ゞェむルブレむクのコンテキストでのみです。 2014幎には、このようなプログラムAdThief、Unflod、Mekie、AppBuyer、Xsserに䞀般的なブヌムがありたした。 しかし、この蚘事では、脱獄せずにiOS甚のマルりェアずその機胜に぀いお説明したす...



Appleデバむスに関する初期条件にすぐに同意したしょう。



そのような厳しい初期条件は、特別に蚭定されおいたすそのため、人生は蜂蜜のようには芋えたせん。 デバむスに既にゞェむルブレむクがあるか、攻撃者がパブリック゜ヌスから簡単にむンストヌルできる堎合、これは面癜くなく、すぐにゲヌムオヌバヌになりたす。ナヌザヌ自身は邪悪なピノキオです。 オペレヌティングシステムのセキュリティモデルは完党に䟵害されおおり、そのようなAppleデバむス向けの悪意のあるコヌドの蚘述は、Android、Windows、たたはMac向けの悪意のあるコヌドの蚘述ず䞀般に倉わりたせん。



Appleデバむスで悪意のあるコヌドが倧量に取埗されない lにヒットしない䞻な保護察策



しかし、すべおに぀いお順番に話したしょう。 最初に、ゞェむルブレむクされおいないデバむスで実行できるコヌドの皮類を把握したす。

たず、AppStoreからアプリケヌションをむンストヌルできたす。それらは配垃蚌明曞によっお眲名され、無制限の数のデバむスで実行できたすが、培底的なチェックの埌はAppStoreを介しおのみ配垃できたす。

次に、アプリケヌションのベヌタ版をテストするためのTestFlightアプリケヌションAppStoreからを䜿甚したす。 このバヌゞョンのアプリケヌションは、ベヌタ版の資栌を持぀配垃蚌明曞で眲名され、1000人のナヌザヌが利甚できApple IDによっおバむンドされるため、より倚くのデバむスが存圚したす、ベヌタ版のアプリレビュヌに合栌したす時間がかかりたせんので、AppStoreのように培底的ですそれは明確ではありたせん...。

第䞉に、もちろん、実際のデバむスアドホック配垃でテストするために、特定のデバむス事前に決定された100個以䞋のデバむス-UUIDの知識が必芁に察しおApple開発者によっお発行された開発者蚌明曞で眲名されたコヌドをデバむスで実行できたす。 HockeyApp、Ubertesters、FabricCrashlyticsのサヌビスは同じルヌルでプレむしたす。 同時に、ご理解のずおり、Appleのコヌドチェックが欠萜しおいたす;

第4に、゚ンタヌプラむズ蚌明曞で眲名されたアプリケヌション。 このようなアプリケヌションはどこからでも配垃でき瀟内配垃、無制限の数のデバむスで実行できたすProvisionsAllDevices = true。 たた、Appleのコヌドチェックも欠萜しおいたす



どこからでもアプリケヌションを配垃するこずはどういう意味ですか ぀たり、アプリケヌションをWebポヌタル内郚たたはむンタヌネットに配眮でき、アクセスするずきにデバむスに簡単にむンストヌルできたす。 ナヌザヌの写真では、アプリケヌションのむンストヌルは次のようになりたす。



画像



このようなアプリケヌションは、キヌワヌドでむンタヌネット䞊で芋぀けるこずができたす。
itms-services://?action=downloadmanifest
      
      



-あなたを助けるむンタヌネットクロヌラヌ。



私が思うに、問題の本質は開発者たたは䌁業の蚌明曞で眲名されたアプリケヌションの完党な信頌であるずすでに掚枬したした。 䞀般的に、Appleのセキュリティモデル党䜓は、蚌明曞の信頌に基づいおいたす...

攻撃者が䜕らかの方法でこれらの蚌明曞を取埗できるこずは明らかです。停の䌚瀟や1日の䌚瀟を䜜成するか、蚌明曞を盗むだけです。これはすでに技術的な問題であり、攻撃に備える必芁がありたす。 AppleにはOSCPを䜿甚しお゚ンタヌプラむズおよび開発者の蚌明曞を取り消す機胜がありたすが、このプロセスに察抗するいく぀かのトリックがありたす。 そしお、開発者の蚌明曞では、これは䞀般的にAppleにずっお簡単な䜜業ではありたせん。



珟圚、攻撃者の前でどの攻撃ベクトルが開かれおいるか認識-保護されおいるこずを意味したすを芋おみたしょう。

1悪意のある莈り物。 安党なメッセンゞャヌから写真線集者たで、「有甚な」プログラムの事前定矩されたセット才胜のある銬は芋おいたせんを備えたデバむスをナヌザヌに䞎えるだけです。 このため、原則ずしお、AppStoreから既知のプログラムが取埗され、解凍され、埩号化され、远加機胜が導入され、適切な蚌明曞によっお眲名され、デバむスにむンストヌルされたす。 同時に、ご理解のずおり、アプリケヌションは匕き続き正垞に機胜し、元の機胜を実行したす。 この方法がどれほどばかげおいお原始的であっおも、このような装眮がロシアの特定の人々に䞎えられた事䟋をすでに知っおいたす。

2感染したコンピュヌタヌ経由。 デバむスは、信頌されおいるペアリングがむンストヌルされおいる感染したコンピュヌタヌに接続し、システム䞊の悪意のあるコヌドがモバむルデバむスに悪意のあるアプリケヌションをむンストヌルしたすたずえば、 libimobiledeviceラむブラリを䜿甚。

3間違った手で数秒。 攻撃者/敵/ je深い女の子に電話を数秒間貞すだけでも、電話にマルりェアをむンストヌルするのに十分です。 攻撃者は自分のアプリケヌションを事前にむンタヌネット䞊のどこかに配眮し、電話を手に持っおいる間にパスワヌドを知らずにSafariを介しおリンクをクリックしおむンストヌルしたす。

4ピノキオ自身。 たずえば、AppStoreでゲヌムを賌入する手間を省くために、サヌドパヌティの゜ヌスからアプリケヌションをむンストヌルできたす。 私が知っおいる限りでは、䟋えば、䞭囜Tongbuでは、ゲヌムを賌入し、ゲヌムを䞭断し、蚌明曞で再眲名しお無料たたは安䟡で配垃するのが奜きです。

5ハッキングされた開発者。 悪意のあるコヌドはプロゞェクトに䟵入し、同じHockeyApp、Ubertesters、FabricCrashlyticsを䜿甚しおデバむスに簡単に拡散する可胜性がありたすもちろん䜿甚されおいる堎合。 さお、たたは攻撃者は単に開発者から必芁な蚌明曞を盗みたす。

6むンサむダヌ。 この項目は、゚ンタヌプラむズアプリケヌションの内郚開発および配垃を行う䌁業自䜓にのみ関連したす。 問題は、この状況の開発者がAppleが蚱可した機胜だけでなく、埌でさらに自由に䜿甚できるこずです。

7アプリケヌションの脆匱性を介しお。 最も矎しく、最も耇雑な攻撃ベクトルであるず同時に、最小限の疑いがありたす。 さらに、アプリケヌションはAppStoreを介しお配垃するこずもできたす。 同様の抂念は、iOSのJekyllですでに説明されおいたす良性のアプリが悪になるずき 。

8iOSの脆匱性が原因です。 これは、たずえば、研究者のチャヌリヌミラヌによっお以前に発芋されおおり、圌がデバむス䞊の眲名されおいないコヌドを動的にロヌドしお実行するこずを可胜にしたした。



iOSのセキュリティメカニズムに粟通しおいる読者は、アプリケヌションがiOSデバむスにヒットした埌、すべおのアプリケヌションから限定された独自のサンドボックスで動䜜するこずに泚意するかもしれたせん...

原則ずしお、実際にはそうですが、攻撃者によっおダりンロヌドされた悪意のあるファむルがAppleポリシヌによっおチェックされるこずはなく、実際にはAppStoreのどのアプリケヌションよりも倚くの機胜を䜿甚できるこずを考慮する䟡倀がありたす。 そしお、すべおプラむベヌトAPIに感謝したす Apple自䜓は、このような機胜を備えたプログラムを芋逃すこずはありたせんが、誰もそれを求めたせん。

そのため、セキュリティの芳点から、AppStoreからむンストヌルされなかったアプリケヌションには、次の違いがありたす。



では、攻撃者にずっおプラむベヌトAPIはどのように圹立぀のでしょうか すぐに

挑戊する 説明
 [[CTMessageCenter sharedMessageCenter] incomingMessageWithId: result]
      
      



着信SMSメッセヌゞのテキストを取埗する
 CTTelephonyCenterAddObserver()
      
      



着信SMSメッセヌゞおよび呌び出しのハンドラヌを登録する
 MobileInstallationLookup()
      
      



むンストヌルされたアプリケヌションに関するplist情報を取埗したす
 CFUserNotificationCreate()
      
      



すべおの画面の䞊郚にあるポップアップダむアログボックス
 CFUserNotificationReceiveResponse()
      
      



ダむアログボックスからナヌザヌ入力を取埗する
 allApplications()
      
      



むンストヌルされたアプリケヌションのバンドルIDのリストを取埗したす
 SBSCopyLocalizedApplicationNameForDisplayIdentifier()
      
      



バンドルIDでプログラム名を取埗する
サンドボックスからでも、アプリケヌションがプラむベヌトAPIのおかげで倚くの悪いこずを行えるこずはすぐにわかりたす。 そしお、これは攻撃者にずっお有甚な方法の完党なリストではありたせん。 これらのうち、どれだけ䞍明なのか...同時に、プラむベヌトAPIに特化したiOS開発者はたもなくすでに需芁がありたす登堎するか、すでにiOS開発者がいるず思いたす。

iOSの通垞の開発者に隠され、蚱可されおいない量の䞀般的な理解に぀いおは、 iOS-Runtime-Headersプロゞェクトを参照しおください。これは、ランタむムで生成されるiOSのヘッダヌファむルです。 たたは、原則ずしお、このようなヘッダヌファむルを生成するために䜿甚されたすが、呌び出しをすぐに操䜜できるRuntimeBrowserプロゞェクト。 プラむベヌトフレヌムワヌクずパブリックフレヌムワヌクの䞡方にプラむベヌトAPIがあるこずに泚意しおください。 たた、専甚のObjective-Cクラスずメ゜ッドに加えお、RuntimeBrowserが芋぀けられない非垞に興味深いC関数もありたす。



非垞に瀺唆的な写真





画像



攻撃者はこれを䜕らかの方法で䜿甚できたす 。 ただし、NSBundleおよびdlopenを介しおコヌドを動的にロヌドするためのさたざたな手法を自由に適甚するこずもできたす。



䞊蚘のすべおが単なるアむデアず抂念であるず思う堎合、私はあなたを怒らせるこずを急いでいたす...これは戊闘環境ですでに起こりたした-たずえば、特にMasque Attackず呌ばれるWirelurker マルりェア 。 Masque AttackCVE-2014-4493およびCVE-2014-4494 の意味は、悪意のあるアプリケヌションが元のアプリケヌションメッセンゞャヌ、メヌル、銀行クラむアントなど、プリむンストヌルされたiOSアプリケヌションを陀くの䞊に眮かれ、圌のデヌタ。



セキュリティに関する掚奚事項



PS iOS甚のマルりェアサンプルに興味がある人は、このリ゜ヌスcontagiominidump.blogspot.ru/search?q=iOSを䜿甚するこずをお勧めしたす。



トピックに関する有甚な資料




All Articles