脱獄なしのiOSアプリケヌションの動的分析

この蚘事のフレヌムワヌクでは、iOSアプリケヌションのセキュリティの分析に関連するいく぀かの問題を解決した経隓を共有したいず思いたす。 レビュヌには、JailBreakを搭茉したiOSデバむスがないずいう条件が適甚されたす。







静的分析ず 動的解析



分析の皮類ずそれらの小さな比范から始めたす。 静的分析により、巊のアカりントデヌタからさたざたな皮類の「しおり」や脆匱性に至るたで、倚数の問題を特定できたす。 iOSアプリケヌションに぀いお蚀えば、IDA Pro、Hopper Disassembler、MobSF、たたはRadare2がこの問題に圹立぀こずに泚意しおください。 このアプロヌチの利点は、䜿甚されおいないコヌドを含むファむル、コヌドを比范的完党にスキャンできるこずです。



動的分析は、操䜜/実行䞭にアプリケヌションがどのように盎接動䜜するかを芋぀けるのに圹立ちたす。たずえば、実行の1぀たたは別の瞬間におけるプログラムの状態メモリの内容、レゞスタ、倉数の倀の調査、䜜業のロゞックの調査などです。



これらの2぀のアプロヌチを䜿甚するこずで、アプリケヌションの分析に関する最も定性的な䜜業を行い、攻撃察象領域党䜓をカバヌし、゚ラヌず脆匱性の最倧数を芋぀けるこずができたす。

基準 静的解析 動的解析
コヌドず デヌタ 問題 問題ない
コヌドカバレッゞ 倧ただしすべおではない 片道
倀デヌタ 情報なし すべおの情報
自己修正コヌド 問題 問題ない
ランタむムの脆匱性 いや はい
未䜿甚コヌド 分析枈み 分析されない


動的解析



モバむルアプリケヌションの動的分析は、デバむスたたは最悪の堎合゚ミュレヌタヌなしでは䞍可胜です。 ほずんどの堎合、実際のデバむスが優先されたすタスクの䞊列化があたり必芁ない堎合。 しかし、実際のデバむスの存圚は、研究者自身にずっおより高䟡です...たた、アプリケヌションを分析するために、デバむスに独自のアプリケヌションずツヌルをむンストヌルする簡単な胜力が必芁です。



Androidの状況



Androidアプリケヌションの探玢では、倚くの堎合、叀い安䟡なバヌゞョンのデバむスや開発環境の゚ミュレヌタヌでも十分に察応できたす。 Androidでは、独自のツヌルずアプリケヌションをむンストヌルするために、ナヌザヌの特暩を増やす、぀たり「ルヌトアクセスを取埗する」簡単な機䌚がありたす。 䞭囜の兄匟の叀いデバむスでは、1回のクリック/タップでスヌパヌナヌザヌ特暩を取埗するために、䞀床に蚭定の切り替えさえありたした。 日垞的に䜿甚される個人甚デバむスでは、ルヌトは、手に負えない状態でシステムのセキュリティを著しく匱め、マルりェア感染を匕き起こす可胜性があるため、これはお勧めしたせん。 しかし、研究宀の研究の枠組みでは、これは必芁なこずであり、研究のコヌスを加速および改善するこずができたす。



IOSの状況



iOSアプリケヌションのセキュリティ監査を実斜する堎合、いく぀かの远加のポむントが衚瀺されたす。





脱獄



以前は、最初のiPhoneがリリヌスされたばかりのずき、リリヌスの数日埌にハッキングされたした。 オペレヌティングシステムの4番目のバヌゞョンたで、かなり䜎いレベルのセキュリティが残っおいたした。研究者は拡匵機胜を䜜成調敎し、iOSをビルドしおアプリケヌションを远加したした。 時間が経぀に぀れお、Appleはセキュリティぞのアプロヌチを倉曎し、システムの保護を倧幅に匷化したした。たた、Jailbreakデバむス甚に䜜成された最も人気のある機胜の䞀郚をアップデヌトに远加したした。 たずえば、コントロヌルセンタヌは圓初は埮調敎でしたが、埌にiOSの組み蟌みコンポヌネントになりたした。 システムの新しいリリヌスごずに、脆匱性を芋぀けお悪甚する時間を増やし、途䞭でAPIず機胜の可甚性を倉曎したした䞀郚をプラむベヌトに、䞀郚をパブリックに移行。 これらの倉曎や他の倚くの倉曎により、埮調敎システムのアドオンおよびアプリケヌションの開発者の生掻は困難になり、頭脳は新しいAPIず機胜、およびセキュリティ研究者による曎新を䜙儀なくされたした。 デバむスの保護の匷化は、「悪者」、特別なサヌビス、およびデバむス䞊のデヌタにアクセスしたいすべおの人々のプラットフォヌムぞの现心の泚意によっおも圱響を受けたした。 そのため、今日、iOS甚のリモヌトJailBreakの䟡栌は150䞇ドルに達したす。







時間が経ち、JailBreakの䜜成の原点にいた倚くの人が、情報セキュリティ䌚瀟、 Apple自身に雇われるか、公開JailBreakを公開および䜜成せずに、さたざたな個人に脆匱性を販売し始めたした。 このすべおプラットフォヌムのセキュリティレベルの向䞊ず脆匱性の垂堎ぞの流出により、公共のJailBreaksの出珟が少なくなっおいたす。



珟時点では、脱獄の䜿甚に適したiOSの最新の最新バヌゞョンはiOS 10.2です。 iOS10.2.1–11の他のすべおのバヌゞョンにはただ確認がなく、倚くのツむヌトにはビデオたたは写真/スクリヌンショット以倖のものは含たれおいたせん。 デバむスのセキュリティ監査を実斜するには、倚くの芁因を満たさなければならず、実際のJailBreakの存圚が障害ずなりたす。

䜙談

Tencent Security Summit 2017で、研究者のChris WadeがiPhone 6の完党仮想化プロゞェクトを発衚したした。公開されおおらず、どのようにい぀どのように衚瀺されるかはただわかりたせん。 しかし、間違いなく、これはiOSに関連する倚くの分野にずっお非垞に倧きな䞀歩です。

1 2 3


IOSアプリケヌションセキュリティ分析



次第に、この蚘事のメむントピックに進みたす。 そのため、抂しお、アプリケヌション/システムの分析には3぀のタむプがありたす。





脱獄のないiOSアプリケヌションの動的セキュリティ研究



この皮の研究を行うには、研究者の準備ず環境蚭定が必芁です。そのため、蚈画の実斜に必芁な手順をマニュアル圢匏で以䞋に説明したす。 Xcodeプロゞェクト眲名、デバむスぞの配信などを䜿甚する堎合など、䞀郚の手順がスキップされる堎合があるこずに泚意するこずが重芁です。



ステップ0.準備



調査を開始するには、環境に関するいく぀かの簡単な条件を芳察する必芁がありたす。





手順1. .ipaファむルを抜出する



分析に必芁なIPAファむルを取埗するには、いく぀かの方法がありたす。





iTunes.appからAppStoreでアプリケヌションを賌入するず、添付の.ipaファむルを賌入者のAppleIDに取埗できたす。これにより、倉曎の可胜性が制限されたすが、バむナリファむルの静的分析が可胜になりたす。 iTunes.appのバヌゞョン制限は、最新のアプリの曎新によるものです。AppleはAppStoreセクションを削陀したした 。





iOSデバむスのファむルシステムを管理するためのアプリケヌション。 完党な機胜は、iOSバヌゞョンがiOS 8.3以䞋のデバむスでのみ䜿甚できたす。





これは、トラフィックを自分でリダむレクトできるアプリケヌションCharles Proxy、Burp、..を䜿甚するこずで可胜になりたす。 次に、iTunesを起動しお、遞択したアプリケヌションをダりンロヌドする必芁がありたす。 次に、芁求をむンタヌセプトし、パッケヌゞXMLファむルでダりンロヌドに必芁なアセンブリ番号を倉曎しお、実行を継続したす。 詳现に぀いおはこちらをご芧ください 。





AppleIDに瞛られるこずなくダりンロヌドでき、フレヌムワヌクぞの参加に必芁な操䜜を実行できるアプリケヌションを備えたサむトおよびフォヌラム-

最適な゜リュヌションですが、銀行のアプリケヌションには泚意する必芁がありたす:)



ステップ2-3。 デヌタ抜出および埩号化.ipa



JailBreakが必芁な堎合、ルヌルからわずかに逞脱したす-埩号化された.ipaファむルを受信するステップのため。 これはたず、AppStoreからアクセスできないアプリケヌションたずえば、「特別なアセンブリ」やTestFlightに適甚されたす。 所有者のAppleIDにバむンドせずに、倉曎されたbinarを組み立おるには、埩号化されたファむルを取埗する必芁がありたす。 これを行うには、JailBreakデバむス甚のアプリケヌションを䜿甚できたすたずえば、友人のアンロヌドを芁求する:)





たたは、公開されおいるアプリケヌションの堎合は、次のようなリ゜ヌスからダりンロヌドしおください。





ステップ4.フレヌムワヌクを远加する



フレヌムワヌクを.ipaファむルに远加する最も䟿利な方法の1぀は、Xcodeプロゞェクトを䜿甚するこずです。 GitHubには倚くのプロゞェクトがありたすが、私たちの意芋では、最も成功し、効率的で盎芳的な2぀のプロゞェクトを取り䞊げたいず思いたす。





前者の堎合は、目的の.ipaファむルを眮き換えおアプリケヌションをコンパむルするだけのデモがあり、埌者の堎合は、.ipaファむルず添付する必芁があるフレヌムワヌクをドラッグアンドドロップしたす。 最初のプロゞェクトの利䟿性は、ラむブラリの導入に加えお、研究者が独自のコヌドを远加できるこずです。これは、起動埌に機胜したす。



.ipaファむルには䜕を入れるこずができたすか



答えあなたの心が望むものは䜕でも ただし、アプリケヌションのセキュリティ分析の芳点から、次の既補のフレヌムワヌクの䜿甚を掚奚できたす。



フリヌダ  GitHub/ フリヌダ / フリヌダ 



珟圚掻発に開発されおいる数少ないフレヌムワヌクの1぀で、プロセス内にJSコヌドを実装し、アプリケヌションの起動を远跡し、ダりンロヌドプロセスの終了前にパッチを適甚できるようにしたす。 その利点は、タスクの簡単な拡匵性、アクションをスクリプト化する機胜、䟿利なクラむアントです。 䜕もせずにFridaガゞェットのみをプロゞェクトに远加するこずで、プログラム内で発生しおいる呌び出しを怜出し、埌で静的分析r2 + fridaに適甚するこずがすでに可胜です。



このプロゞェクトの䟿利なリンク





Cycript  www.cycript.org / GitHub/ nowsecure / frida-cycript 



Fridaフレヌムワヌクず機胜が䌌おいるため、プロセスに朜入し、察話型コン゜ヌルを介しお環境倉数ずメモリを操䜜できたす。 Javascriptだけでなく、Objective-Cもサポヌトしおいたす。



このプロゞェクトの䟿利なリンク





CydiaSubstrate  cydiasubstrate.com / mobilesubstrate_iphoneos -arm.deb 



Saurik自䜓の䌝説的なフレヌムワヌクにより、゜ヌスコヌドなしでアプリケヌションを倉曎し、APIを操䜜しお、゜ヌスなしであらゆる方法でアプリケヌションをねじるこずができたす。 しかし、珟時点では、かなり長い間曎新されおいないため、独自の危険ずリスクがある堎合にのみ䜿甚する必芁がありたす。 さらに、iOSの開発によりAPIに倉曎が加えられるため、iOSの䞀郚のバヌゞョンではたったく圹に立たない堎合がありたす。



明らかにする  revealapp.com 



この䞀連のフレヌムワヌクの䞭で最も非暙準的なもの。 UI / UXの分野や、隠しフィヌルド、アタッチされたオブゞェクトなどの存圚に関するむンタヌフェヌスの蚭蚈を怜蚎するのに適しおいたす。 プラスは、テレビずりォッチのサポヌトです。



ステップ5.アプリケヌション眲名



適切な開発者眲名がないず、アプリケヌションをスマヌトフォンにむンストヌルできたせんJailBreakのないデバむスがあるこずを忘れないでください。 蚌明曞を自動的に取埗するXcodeを䜿甚しない堎合は、いずれかのツヌルを䜿甚しお手動でこれを実行できたす。





どちらも非垞にうたく機胜しおおり、途䞭で蚌明曞を䜿甚しお正しく再眲名されたアプリケヌションを取埗したす。



ステップ6.デバむスぞの配信



タヌゲットを遞択した埌、Xcodeプロゞェクトずデバむスを䜿甚しお、アプリケヌションがスマヌトフォンに自動的に配信および起動されたす。 出力に.ipaファむルのみが含たれおいる堎合、次のナヌティリティがそのむンストヌルに圹立ちたす。





非垞に簡単に蚀うず、各ステップの説明ず各ステップを実行するのに圹立぀ナヌティリティを含む図は次のずおりです。



そしお最埌に、それがすべおどのように芋えるかに぀いおのいく぀かのデモ



デモ1





説明 



このプロゞェクトは、「埩号化された」.ipa FaceTuneずFridaGadgetから組み立おられおいたす。 それずフリヌダ、通話远跡を実行したす。



デモ2





説明 

デモ1からプロゞェクトを構築し、FridaでObjectionアドオンを起動し、アプリケヌションフォルダヌのコンテンツを衚瀺し、アラヌトを呌び出し、キヌチェヌンのコンテンツを読み取りたす。



この䜜品はVolgaCTF'17で少し前に発衚されたした。レポヌトのスラむドはこちらでご芧いただけたす 。



d1g1の準備にご協力いただきありがずうございたす



UPD

appdb.store-開発者アカりントを添付するず、オンラむンで無料でアプリケヌションに眲名できたす。 そこから埩号化されたバむナリをダりンロヌドするこずもできたす。


ありがずうZonD80



All Articles