Ostorlab vs. NowSecure vs. MobSF vs. Immuniweb vs. AppKnox vs. Quixxi vs. Oversecured
本記事では、モバイルセキュリティのスキャンソリューションを包括的に見渡すとともに、それぞれを真に差別化する点を明らかにします。
yevhsec1@氏は、自身のブログios-apps-security-scanners-practical-comparisonで、iOSアプリケーションのセキュリティスキャナーについて有益な比較を書いています。
yevhsec1@氏のブログは検出の側面に焦点を当て、既知の脆弱なiOSアプリケーションを複数対象にスキャン結果を検証しています。
この記事はOstorlabを推奨していましたが、プラットフォーム間の実際の違い、そのカバレッジ、真の機能にはわずかに触れたにとどまりました。
本記事では、より包括的な視点を提供するとともに、改善された検出能力に加えて、Ostorlabが既存のプラットフォームと真に異なる点を明らかにしたいと考えています。
| Ostorlab | Nowsecure | MobSF | ImmuniWeb | Appknox | Quixxi | Oversecured | |
|---|---|---|---|---|---|---|---|
| フレームワーク対応 | ネイティブおよびマルチプラットフォーム(Crodova、React Native、Flutter、Xamarin ...) | ネイティブ | ネイティブ | ネイティブ | ネイティブ | ネイティブ | ネイティブ |
| 静的テイント解析 | Yes |
不明 | なし | なし | 不明 | 不明 | Yes |
| バイナリ解析 | Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Androidのみ |
| ソースコード解析 | なし | なし | なし | なし | 不明 | なし | iOSのみ |
| 古い依存関係 | Yes |
不明 | なし | なし | なし | なし | なし |
| サプライチェーン | Yes |
不明 | なし | なし | なし | なし | なし |
| シークレット | Yes |
なし | なし | なし | なし | なし | なし |
| サードパーティ解析 | Yes |
Yes |
Yes |
Yes |
Yes |
なし | なし |
| プライバシーチェック | Yes |
Yes |
Yes |
なし | 不明 | なし | なし |
| 動的解析 | Yes |
Yes |
Yes |
Yes |
Yes |
なし | なし |
| 手動での端末操作 | なし | なし | Yes |
なし | Yes |
なし | なし |
| 自動での端末操作 | Yes |
Yes |
なし | なし | なし | なし | なし |
| SSLピンニング対応 | Yes |
不明 | なし | なし | 不明 | なし | なし |
| 認証付きテスト | Yes |
なし | なし | なし | 不明 | なし | なし |
| OTP対応 | Yes |
なし | なし | なし | 不明 | なし | なし |
| バックエンドスキャン | Yes |
Yes |
Yes |
Yes |
Yes |
なし | なし |
| モニタリング | Yes |
Yes |
なし | 不明 | 不明 | なし | なし |
| ストアからの直接スキャン | Yes |
Yes |
なし | Yes |
不明 | なし | なし |
| ペネトレーションテストサービス | なし | Yes |
なし | Yes |
Yes |
なし | なし |
| 手動解析 | Yes |
なし | Yes |
なし | Yes |
なし | なし |
| 拡張性 | Yes |
なし | Yes |
なし | なし | なし | なし |
| 修復/脆弱性の集約 | Yes |
なし | なし | なし | なし | なし | なし |
| ダッシュボード | Yes |
Yes |
なし | Yes |
Yes |
なし | なし |
| CI/CD連携 | Yes |
Yes |
Yes |
なし | 不明 | なし | Yes |
| チケット連携 | Yes |
なし | なし | なし | 不明 | なし | なし |
| IDE連携 | なし | 不明 | なし | なし | 不明 | なし | なし |
| OTP | Yes |
なし | なし | 不明 | なし | なし | なし |
| SAML | Yes |
不明 | なし | 不明 | 不明 | なし | なし |
| チーム対応 | Yes |
なし | なし | 不明 | 不明 | なし | なし |
| オープンソース | Ostorlabのスキャナーとエージェント | FridaとRadare2 | Yes |
なし | なし | なし | なし |
検出能力
脆弱性を検出することは、脆弱性スキャナーに期待される役割の中核です。モバイルアプリケーションの脆弱性スキャナーを評価するには、いくつかの重要な属性に注目する必要があります。
第一に、フレームワーク対応のカバレッジです。モバイルアプリケーションは、多様な技術スタックと多様なアタックサーフェスを備えた豊かなエコシステムを持っています。AndroidのネイティブなJava、iOSのSwiftとObjective-Cから、React Native、Flutter、Cordova、Xamarinといったマルチプラットフォームまでさまざまです。
近年、特にFlutterをはじめとするマルチプラットフォームのフレームワークが人気を集めており、プラットフォームがそのフレームワークと内部構造を理解していることが、検出にとって重要です。


第二の属性は、静的テイント解析の機能と精度です。テイント解析は、長いコードパスにまたがる複雑な脆弱性を見つけることを可能にする中核的な機能です。テイント解析は強力であると同時にリソースを多く消費し、正確な検出を実現するには各プラットフォームの微妙な違いを理解する必要があります。

その他の属性としては、静的にコンパイルされたものも含む古く脆弱な依存関係の検出があり、既知の問題とCVEが割り当てられていない未知の問題の両方をカバーします。
依存関係の混同(dependency confusion)のようなサプライチェーンの脆弱性の検出も重要です。この脆弱性クラスはJavaScriptベースのアプリケーションに典型的に見られ、攻撃者に好まれる標的となっています。
シークレットとハードコードされた鍵、サードパーティ解析、プライバシーチェックも、注目すべき重要なチェックです。
最後に、難読化、コードのリフレクション、リモートコードの読み込みによって隠されていたり発見が難しくなっていたりする複雑な問題を検出するための動的解析は必須です。
強力な動的解析には、TLSとSSLピンニングへの対応、OTP対応を含む認証付きテスト、そしてバックエンドスキャンが必要です。

これらすべての領域において、Ostorlabはそれぞれの項目を満たしており、高度なテイント解析機能を提供し、静的にコンパイルされたものも含む古い依存関係を検出し、シークレットを検出して検証し、認証付きテスト、OTP対応、トラフィックの傍受、サプライチェーンのチェックを備えた豊富な動的解析機能を実現しています。
モニタリング
モバイルアプリケーションの脆弱性スキャナーの重要な機能の一つは、時間を節約して複雑なタスクに集中できるようにする能力です。その重要な側面の一つが、ストアからであれ、JenkinsやGithub ActionsのようなCI/CDプラットフォームとの連携であれ、アプリケーションを継続的にモニタリングできるようにすることです。
NowSecureとOstorlabは、両方のプラットフォーム(AndroidとiOS)でアプリケーションの継続的なモニタリングに対応している唯一のスキャナーです。

ストアへのアクセス
モニタリングに加えて、ストアへのアクセスはユーザーに使いやすい体験をもたらし、実際の本番成果物をスキャンすることで時間の節約にも役立ちます。

Ostorlabは、ストアから直接アプリケーションをスキャンする機能を提供し、端末や地域による制限を回避します。
ほかにもいくつかのプロバイダーがストアへのアクセスに対応していますが、一部は端末や地域の対応といった制限を抱えています。
インタラクティブな解析機能
脆弱性の検出は、スキャンを実行して結果を見るだけでは終わりません。本当に大変な作業は、問題が確実に修正されるようにするために、その後にやってきます。
その重要な一部が、亜種(バリアント)を追いかけることです。亜種は、ソースコードにすらアクセスできないサードパーティのコンポーネントに存在することもあります。
インタラクティブな解析環境を利用すると、チームが問題を理解し、新たな問題を追いかけるのに役立ちます。
Ostorlabには、攻撃者が見ているものを把握できる解析環境が付属しており、次のものが含まれます。
- アプリケーションの逆コンパイルされたソースコード(ネイティブコードを含む)
- コールトレース
- 抽出された依存関係(実際の部品表)
- 傍受したトラフィック
- UI操作の生成
- メソッドのリスクプロファイル解析
- 高速検索のためのコンテンツのインデックス化
- そのほか、非常に多くの機能

修復機能
脆弱性を修正するのは難しく、時間がかかり、率直に言って楽しい作業ではありません。製品がより良くなったり魅力的になったりするわけではありませんが、組織に深刻な打撃を与えかねません。
セキュリティチームは、標的にされる確率、発見のしやすさ、そして影響を考慮しながら、本質的なものに集中するために時間と労力のバランスを取る必要があります。
すべての問題を修正できれば理想的ですが、セキュリティチームが対処しなければならない検出結果の膨大な量を考えると、それは実際には不可能です。
Ostorlabは、脆弱性検出における深刻な痛みと課題に対処する機能を独自に備えています。これらの機能には、スパムのような通知や脆弱性疲れを避けるための、単一チケットへの脆弱性の集約が含まれます。また、何も見落とさないようにするためのポリシー設定を提供し、問題の履歴を保持します。さらに、修正を検出して問題を例外や誤検知としてマークし、今後の重複したレポートを避けることもできます。

連携
プラットフォーム連携もまた、セキュリティチームと開発チームが時間と労力を節約し、ひいてはより良く、より安全なアプリケーションを実現するのに役立つ重要な機能です。
スキャン結果を社内のチケットシステムにコピーしたり、リリースのたびに手動でスキャンを実行したりする作業は、すぐに面倒になり、ある時点で単に省略してしまおうと決めてしまいがちです。

チームのツール群に合致する連携を提供することで、オーバーヘッドが下がり、組織内でのツールの採用が進みます。
Ostorlabは、Jira、Jenkins、Github Action、Gitlabといった連携により、最も広範な対応を提供します。
アカウントのセキュリティ
脆弱性スキャナーが扱うデータの性質上、プラットフォームへの安全なアクセスを確保することが重要です。


ブルートフォース検出や、TOTPやHOTPのような安全な実装によるOTPといった機能は、認証に対する攻撃を防ぎます。
複数の組織・チームへの対応は、データの分離を容易にし、外部の関係者が知る必要のあるデータだけにアクセスできるようにします。
内部に認証プロバイダーを持つ大規模な組織は、SAMLやOAuth2.0のような標準化されたプロトコルを用いたSSO対応により、ユーザー管理と監査を一元化できる利点があります。
Ostorlabは、掲載したすべてのプラットフォームの中で、安全なOTPアクセス、SAML連携、複数チーム機能を提供する唯一のプラットフォームです。
拡張性と固定的な検出を超えること
既存の脆弱性スキャンのインフラを再利用して、新たな脆弱性や亜種の脆弱性を検出できる力をセキュリティチームに与えることは、時間の節約につながります。

しかし、独自技術の上に構築することは、別のソリューションを選ぶと決めたときにそれまでの作業が失われてしまうため、しばしば敬遠されます。
Ostorlabは、100%オープンソースの拡張可能な連携を実現します。ユーザーが望めば、作業と労力を失うことなく、ほかのプラットフォームを使い続ける柔軟性を提供します。
MobSFとOstorlabは、オープンソースのエンジンのおかげで、この種の拡張機能を提供する唯一のプラットフォームです。
オープンソースとコミュニティのサポート
オープンソースにコミットすることは、単にソースコードを共有することではありません。共通の課題に取り組むコミュニティを支えることです。
Ostorlabは、その誕生以来、無制限の無料スキャンを提供するコミュニティ主導のプラットフォームであり続けてきました。
当社は、すべての検出機能への完全かつ無制限のアクセスを提供することを使命として、プラットフォームをオープンソース化しました。
一方、当社の有料プラットフォームは、強力な連携機能や修復機能など、大規模な組織が時間と労力を節約するために必要とするエンタープライズ向けの機能に重点を置いています。

ありがたいことに、オープンソースに対応しているのはOstorlabだけではありません。FridaとRadare2への顕著な支援で知られるMobSFとNowSecureも、優れた好例です。
ロードマップ
Ostorlabはすでに、高度な検出、解析環境、堅牢な連携、そしてインテリジェントな修復機能を提供しています。しかし当社は、追加したいと考えているあらゆる新機能に胸を躍らせながら、なお懸命に取り組んでいます。
今年の目標は、オープンソースプロジェクトを通じて脆弱性の検出能力を大幅に向上させることです。チームとオープンソースコミュニティが使い始められる構成要素を作る、その最初の段階を完了しました。
当社はまた、組織のインフラをより良く、より正確に見渡せるようにするため、脆弱性管理プログラムを構築する最初の段階を完全に自動化することも目指します。
作業には、ライブ監査機能や、強力な検索・クエリ言語を追加して解析環境を改善することも含まれます。
これらを発表する際に詳細を知りたい方は、Twitterで当社をフォローするか、ニュースレターにご登録ください。
タグ:
autonomous