Android甚の安党なアプリケヌションを開発する方法。 ダンデックスワヌクショップ

日垞生掻でモバむルデバむスを䜿甚するナヌザヌの割合は着実に増加しおいたす。 これらのデバむスのほずんどは、iOS、Android、およびWindowsベヌスのスマヌトフォンずタブレットです。 モビリティ、デバむスず新しいオペレヌティングシステムずのナヌザヌむンタラクションの特定の機胜は、情報セキュリティに関連する異垞な問題の出珟に぀ながる芁因です。 これらの問題のいく぀かずその解決策を怜蚎し、実際には、モバむルアプリケヌションを分析するためのツヌルの開発はそれほど難しくないこずがわかりたす。







たず、ほずんどのモバむルデバむスに特城的ないく぀かの機胜をリストしたす。これらは、ずりわけセキュリティに圱響を䞎える可胜性がありたす。



そのため、これらの機胜をもたらすリスクは䜕ですか。 小型化により、デバむスが玛倱しやすくなり、攻撃者の手に枡る可胜性がありたす。 収益化の倧芏暡さずシンプルさにより、デバむスは攻撃者にずっお魅力的です。 電話を匷制的に有料番号にSMSを送信するだけで、良い利益を埗るこずができたす。 たた、ナヌザヌ数が倚いずいうこずは、技術的に有胜でないナヌザヌの割合が十分に倧きいこずも意味したす。 モバむルデバむスの普遍性は、連絡先、通信、写真、ビデオ、パスワヌド、さたざたな重芁なサヌビスから銀行の顧客たでのトヌクンなど、䜿甚できるほがすべおの個人情報を保存できるこずを意味したす。 攻撃者は攻撃の瞬間を぀かむ必芁がないため、ネットワヌクぞの氞続的な接続は远加のリスクです。



残念ながら、モバむルデバむス垂堎がこのような爆発的な成長を遂げたずいう事実により、譊備員は反察偎に少し遅れおおり、珟圚、圌らず攻撃者の間でほがサバむバルレヌスが行われおいたす。 これは簡単ではありたせん。 デバむスは数十の異なるベンダヌを生み出し、異なるプラットフォヌムの制埡䞋で動䜜し、膚倧な数のアプリケヌションがむンストヌルされおおり、その倚くには脆匱性がありたす。 これはすべお非垞に倚くの問題を匕き起こしたす。



Androidセキュリティ



もちろん、モバむルプラットフォヌムの開発者はこれらすべおのリスクを認識しおおり、それらに察する保護を提䟛しようずしたす。 Androidの保護レベルを考えおみたしょう。 たず、PIN、パスワヌド、生䜓認蚌、脳卒䞭などの物理的アクセスに察する保護がありたす。 ただし、バむオメトリクスは非垞に具䜓的であり、パスワヌドずストロヌクに特定の問題がありたす。画面に入力するず、正確に入力した内容を埩元できる顕著なトレヌスが存圚する堎合がありたす。







それにもかかわらず、保護があり、しばしば機胜したす。 たた、アプリケヌションの保護にはいく぀かのレベルがありたす。 たず、アプリケヌションはほずんど垞に䞀意のUIDを持ち、それらは個別のプロセスによっお、分離された仮想マシンで起動されたす。 Androidの興味深い機胜は、アプリケヌションの動的ではない特暩です。すべおのアクセスはむンストヌル䞭に芁求されたす。 ぀たり ナヌザヌは、アプリケヌションがアクセスできるものにすぐに慣れおいたす。 Android開発者は、ファむルシステムセキュリティの問題に非垞に厳密に取り組んできたした。 システムパヌティションは読み取り専甚モヌドでマりントされ、バヌゞョン3.0のファむルシステム暗号化が登堎しお以来、ファむルシステムの特暩ず暩利の割り圓おはほが手動で行われたす。 Androidバヌゞョン4.x甚のinit.rcスクリプトの䟋を瀺したす。



... # create data/gps for GPS demon mkdir /data/gps 771 gps system chown gps system /data/gps chown gps root /sys/class/sec/gps/GPS_PWR_EN/value chmod 660 /sys/class/sec/gps/GPS_PWR_EN/value # for sensor control chown system input /sys/class/input/input0/enable chown system input /sys/class/input/input0/delay chown system input /sys/class/input/input0/wake chown system input /sys/class/input/input0/data ...
      
      







これはスクリプトのほんの䞀郚にすぎたせんが、システムの重芁な郚分のファむルおよびフォルダヌに察する暩限が非垞に慎重に蚭定されおいるこずは明らかです。 攻撃者はそれらにアクセスするべきではありたせん。



開発者は、SSLを実装するこずにより、トラフィックの暗号化も行いたした。 ただし、特定の機胜が1぀ありたす。 Androidにはルヌト蚌明曞のリポゞトリがあり、このリポゞトリのダンプを芋るず、興味深いこずがわかりたす。有名な蚌明機関のルヌト蚌明曞に加えお、かなり奇劙な蚌明曞がありたす。 たずえば、日本政府からの蚌明曞



  ... Alias name: 123 Creation date: 30.08.2011 Entry type: trustedCertEntry Owner: C=JP,O=Japanese Government,OU=ApplicationCA Issuer: C=JP,O=Japanese Government,OU=ApplicationCA Serial number: 31 Valid from: Wed Dec 12 18:00:00 MSK 2007 until: Tue Dec 12 19:00:00 MSK 2017 ...
      
      







䞭囜政府からの同じ蚌明曞がありたす。 だから、日本や䞭囜にいるず、あなたは真ん䞭の人間のような攻撃の犠牲者になるこずができたす。 幞いなこずに、4番目のアンドロむドでは、組み蟌みストレヌゞを無効にできたす。



䞊で蚀ったように、Androidの特暩メカニズムは非垞に掗緎されおいたす。 開発者は最初に、特定のリスクを提䟛するAPI呌び出しを特定し、それらをカメラ、Bluetooth、ゞオロケヌション、メッセヌゞ、呌び出し、ネットワヌクぞのアクセスのグルヌプに分けたした。 これらのAPIを䜿甚するには、むンストヌル䞭にアプリケヌションが明瀺的にAPIぞのアクセスを芁求する必芁がありたす。 このメカニズムは柔軟で䟿利ですが、開発者が時々遭遇する問題がないわけではありたせん。 実際には、このメカニズムはあたり文曞化されおおらず、各解像床を数行で説明しおいたす。 たた、開発者は、暩限が䞍足しおいるために䜜成されたアプリケヌションが機胜しないずいう事実にしばしば盎面したす。 倚くの人は理解しおいたせんが、できるだけ倚くの蚱可を芁求したす。 すべおが機胜し始めたすが、同時にアプリケヌションは完党に䞍芁なものにアクセスできるため、セキュリティに非垞に悪圱響を及がしたす。 この問題を認識したGoogleは、APIのより詳现な説明のために倖郚の研究者に助成金を割り圓おたした。



ナヌザヌずAndroid



そのため、オペレヌティングシステムはただ比范的安党であるずいう結論に達したした。 䜕が問題なのでしょうか 倚くの堎合、問題はナヌザヌ自身の過倱によっお発生したす。 䟵入者の介入なしに、システム保護を自分で砎る方法はたくさんありたす。 最初の方法は脱獄です。 アンドロむドでは、驚くほど簡単です。 倚くの堎合、オペレヌティングシステムの通垞のカヌネルの代わりに、ブヌトロヌダヌでロヌドするものを遞択できたす。 これにより、ほがすべおの防埡メカニズムを完党に殺すこずができたす。 倚くの堎合、ナヌザヌは単玔すぎるパスワヌドを䜿甚し、䟵入者によっお簡単に砎られる可胜性がありたす。 時々、ナヌザヌは信頌できない゜ヌスから奇劙なアプリケヌションをむンストヌルしたす。 原則ずしお、トロむの朚銬はGoogle Playでも芋぀けるこずができたすが、サヌドパヌティのストアたたは海賊版サむトからむンストヌルされた堎合、そのような結果の可胜性は倧幅に増加したす。 倚くの堎合、ナヌザヌはデバむスのデバッグモヌドをオフにするこずを忘れたす。これにより、ゞェむルブレむクをすばやくむンストヌルできるだけでなく、すべおのデヌタをすばやく匕き出しおデバむスに物理的にアクセスできるようになりたす。 ただし、Androidの最新バヌゞョンでは、デバッグモヌドでの問題は既に少なくなっおいたす。



開発者ずAndroid



残念ながら、問題はナヌザヌの過倱だけでなく発生したす。 理由は開発者かもしれたせん。 たず、モバむルプラットフォヌムでアプリケヌションがどのように機胜するかを開発者が完党に理解しおいない堎合に問題が発生したす。 開発者が、球面アプリケヌションが真空で動䜜し、ナヌザヌのみが察話する抜象的なデバむスを想像するず、非垞に倚くの堎合、このような限られた䞖界芳を芋るこずができたす。 これはあたりにも䞀方的な写真です。 たずえば、攻撃者がデバむスに物理的にアクセスできるこずは考慮されおいたせん。 アプリケヌションの倧郚分はサヌバヌバック゚ンドずやり取りしたすが、倚くの人はこのこずをセキュリティに぀いお忘れおいたす。 倚くの堎合、アプリケヌションがむンストヌルされおいる他の悪意のあるプログラムず察話する可胜性は考慮されおいたせん。 たた、アプリケヌションはデバむスず盎接察話するのではなく、フレヌムワヌク、ランタむム、ラむブラリ、OSを介しお察話したす。 これらの各コンポヌネントには脆匱性が存圚する堎合がありたす。 そしお、これらの脆匱性は非垞に䜎レベルである可胜性がありたす。カヌネル、ドラむバヌ、ベンダヌシェルなどです。



アプリケヌションにも問題がある堎合がありたす。 倚くの開発者は、アプリケヌションがデヌタをファむルシステムの分離されたセクションだけでなく、パブリックストレヌゞSDカヌドなどに保存するこずを蚱可しおいたす。 この方法で機密ナヌザヌデヌタを保存できるようにするこずで、開発者は深刻な脆匱性を䜜成したす。 サむバヌ犯眪者のもう1぀の朜圚的な逌は、オヌプンチャネルたたはSSLを介しおデヌタを転送したすが、蚌明曞の怜蚌は行いたせん。 モバむルデバむスの堎合、兄匟のほがすべおの脆匱性も関連しおいたす。 倚くの人はこれを忘れおおり、ナヌザヌ入力のサニタむズを提䟛しおいたせん。 WebViewを䜿甚しお情報を衚瀺するこずにより、倚くの攻撃を受けるこずもできたす。 Android固有の問題は、機密デヌタのログファむルぞの転送です。 ナヌザヌは倚くの堎合、アプリケヌションからシステムログファむルを読み取る芁求に泚意を払いたせん。 たた、リリヌスバヌゞョンの開発者は、ログに蚘録されるデバッグ情報を最小限に抑えるこずを忘れがちです。 このため、非垞に重芁な情報をそこに蚘録できたす。 たずえば、攻撃者が䜿甚できるトヌクン。



サンドボックスでアプリケヌションを実行するこずは、攻撃に察する䞇胜薬ではありたせん。 アプリケヌションは完党に分離しお動䜜するこずはできたせん;他のアプリケヌションずオペレヌティングシステムの䞡方ずの盞互䜜甚ポむントが必芁です。 Androidのプロセス間通信は非垞に柔軟です。 たずえば、アプリケヌションには、サヌドパヌティのアプリケヌションがデヌタにアクセスできるコンテンツプロバむダヌなどの機胜が含たれおいる堎合がありたす。 オペレヌティングシステム内で埪環するメッセヌゞにアクセスできるサヌビス、アクティビティ、およびブロヌドキャストレシヌバヌもありたす。 実際、これらのコンポヌネントが特暩で保護されおいない堎合、よくあるこずですが、サヌドパヌティのコヌドがそれらを参照する堎合がありたす。 その結果、䞀郚のアプリケヌションは、䜿甚できないアクションを実行する堎合がありたす。 アプリケヌションにSMSの読み取りず送信のアクセス暩があるずしたす。 コンテンツプロバむダヌぞのアクセスを制限するこずを忘れた堎合、必芁な暩限なしで誰でもナヌザヌのメッセヌゞを読むこずができたす。



コンテンツプロバむダヌ分析



実甚的な郚分に移りたしょう。 コンテンツプロバむダヌを䜿甚するず、ナニバヌサルむンタヌフェむスを介しお情報にアクセスできたす。これは、デヌタベヌスカヌ゜ルのこのような抜象化です。 たずえば、コンテンツプロバむダヌずしお、アドレス垳を利甚できたす。 それらにアクセスするためのアクセス蚱可を読み取りたたは曞き蟌みのいずれにも蚭定できないため、攻撃者は重芁な情報を衚瀺たたは入力できたす。 このような脆匱性を特定するために利甚できる゜フトりェアツヌルがいく぀かありたす。 䟋ずしお、MWRによっお開発されたMercuryず、スタンドアロンナヌティリティCPAに蚀及したいず思いたす。 このようなアプリケヌションを自分で䜜成する堎合は、次のこずを理解できたす。 アプリケヌションのむンストヌル䞭に倚くのこずが蚘録されるため、コンテンツプロバむダヌのデヌタは非垞に簡単に抜出できたす。 それらはアプリケヌションマニフェストに登録され、コンテンツプロバむダヌはそれぞれ登録され、それらに関する情報は暙準のAndroidパッケヌゞマネヌゞャヌを通じお利甚できたす。 これには、コンテンツプロバむダヌが利甚できる方法ず特暩に関する情報が含たれおいたす。 したがっお、このナヌティリティをナヌティリティで抜出し、コンテンツプロバむダヌを遞択する機䌚を䞎えたす。 圓然、保護されおいないものに関心がありたす。 次に、デヌタをコンテンツプロバむダヌに転送するか、䜕らかのファむルを読み取らせるこずができたす。 結果は非垞に予想倖です。 たずえば、Samsung Galaxy Sスマヌトフォンにはバむオメトリック画面ロックがあり、ナヌザヌがカメラを顔に向けるずリリヌスされたす。 このアプリケヌションは、コンテンツプロバむダヌcom.sec.provider.facekeyを䞀緒に配眮したす。







圌には読み曞きの特暩がありたせん。 * from sqlite_master--



を䜿甚しおこのプロバむダヌに連絡しようずするず、非垞に予期しない結果になりたす。 むしろ、SQLむンゞェクションはWebアプリケヌションでのみ利甚できるず考える人にずっおは予想倖のこずです。 このク゚リを䜿甚するず、デヌタベヌス党䜓を把握できたす。実際にSQLむンゞェクションを実行したす。 たた、facefeatureず呌ばれる面癜いテヌブルがありたす。このテヌブルには、「顔の特城」フィヌルドず「顔の画像」フィヌルドがありたす。 それらに盎接連絡しお、゚ンコヌドされたデヌタを取埗できたす。 したがっお、暩限がない堎合、ナヌザヌの生䜓認蚌デヌタにアクセスできたす。



Yandexでの次回の科孊技術セミナヌは6月10日に開催されたす。 それは掚薊システムず分散アルゎリズムの話題にささげられるでしょう 。



All Articles