
iOSセキュリティテストフレームワーク

Needle は、iOSアプリのセキュリティ評価を効率的に行うためのオープンソースのモジュラーフレームワークです。
注: このツールは廃止され、現在はメンテナンスされていません。アーカイブ目的で元のプロジェクトを公開しています。
Needleは当初iOS 9およびiOS 10向けに開発されました。その後、Fridaがリリースされ、モバイルセキュリティ評価におけるデファクトツールとなりました。Needle内でいくつかの一般的なFridaモバイルセキュリティスクリプトが後から実装されましたが、これはこれらのスクリプトの一部がNeedleのカスタムツールよりも優れていたり、Needleのカスタムツールに存在した問題に対処していたためです。
iOS 11のリリースに伴い、消費者にとっては良いがNeedleにとっては悪い追加のセキュリティ保護が導入されました。これらの強化によりNeedleの機能が実質的に破壊され、F-Secureは以下の2つの選択肢に直面しました。
F-Secureは後者を選択しました。これは、Needleの運命が議論されているときに、当社のコンサルタントの一部がすでに別のツールを使用し、貢献し始めていたためです。そのサードパーティのツールはObjectionと呼ばれ、以下で見つけることができます。
https://github.com/sensepost/objection
NeedleはiOS 10以下のデバイスでは引き続き使用できます。デバイスがiOS 11以上を実行している場合、F-Secureは代わりにObjectionを使用することを推奨します。
iOSアプリケーションのセキュリティ評価を実施するには、通常、多数のツールが必要です。これらのツールはそれぞれ特定のニーズに合わせて開発されており、動作モードや構文も異なります。Androidエコシステムには、この問題を解決し、ほとんどのユースケースにおいて「ワンストップショップ」を目指すdrozerのようなツールがありますが、iOSには同等のものがありません。
NeedleはMWRのiOSセキュリティテストフレームワークであり、2016年8月のBlack Hat USAでリリースされました。これはオープンソースのモジュラーフレームワークであり、iOSアプリケーションのセキュリティ評価プロセス全体を効率化し、そのための中心的な拠点として機能することを目的としています。Needleはセキュリティ専門家だけでなく、自身のコードを保護したい開発者にとっても有用であることを意図しています。Needleがカバーするテスト領域の例としては、データストレージ、プロセス間通信、ネットワーク通信、静的コード解析、フッキング、バイナリ保護などがあります。Needleを効果的に実行するための唯一の要件は、脱獄済みデバイスです。
バージョン1.0.0のリリースにより、コアの大幅な見直しと、完全にObjective-Cで記述された新しいネイティブエージェントが導入されました。新しいNeedleAgentはNeedleを補完するオープンソースのiOSアプリであり、デバイス上でプログラム的にネイティブタスクを実行できるようにし、サードパーティツールの必要性を排除します。
Needleは、Black Hat USA/EU、OWASP AppSec、DEEPSECなどのさまざまな国際会議のワークショップで発表され、使用されてきました。また、ToolsWatchによる2016年のトップセキュリティツールの最終候補に選ばれ、OWASPモバイルテストガイドでも紹介されています。
Needleはオープンソースソフトウェアであり、MWR InfoSecurityによってメンテナンスされています。
詳細は、プロジェクトWikiのインストールガイドを参照してください。
使用方法の説明(一般ユーザーとコントリビューターの両方向け)は、プロジェクトWikiにあります。
Needleは3条項BSDライセンスの下でリリースされています。詳細はLICENSEファイルを参照してください。
ニュースや最新情報については、Twitterの@mwrneedleおよび_MWR Mobile Tools_ブログをフォローしてください。
問題があれば遠慮なく報告するか、Twitter(@mwrneedle、@lancinimarco)でお問い合わせください。