こんなときに
こんなときにおすすめです
- スマホアプリやパソコンのアプリを、公開・配布する前
- アプリの中に、ログイン情報や個人情報を保存している
- 業務用のアプリや社内ツールを、外部の会社に作ってもらった
- 大きなバージョンアップや、使っている部品(ライブラリ)の更新をした
- 不正な改ざんや解析への対策が、きちんと効いているか確かめたい
- 取引先や監査から、診断の結果を求められた
特徴
SecureHattersのアプリケーション診断
-
自社で開発した解析ツールで、深く調べます
SecureHattersのエンジニアが開発し、オープンソースで公開しているアプリの解析ツール「trueseeing」を使います。難読化されたアプリにも強く、プログラムの中身を深く読み解きます。対象に合わせて、必要なツールを作ることもあります。
-
攻撃者が端末を自由に操れる前提で調べます
攻撃者がスマホやパソコンを思いどおりに操れる状況を想定して、アプリの内部の動きや通信、メモリ、保存されたデータまで調べます。Keychainなど、大事な情報を保存する領域も確認します。root化・脱獄した端末をほぼ使わずに診断するため、不正な端末を見つける仕組みが入っているアプリでも診断できます。
-
アプリのファイルだけで診断できます
スマホアプリは、アプリのファイルだけで診断できます。iOSアプリでも、開発チームへの登録は必要ありません。App Store・TestFlight・Google Play・DeployGateで配信している場合は、テスターとしてご登録いただくだけで、ほとんどの場合診断できます。
-
開発言語や作り方を問いません
エンジニアは診断だけでなく開発にも詳しいため、ほとんどのプラットフォームや開発言語に対応できます。ネイティブアプリのほか、React Native・Flutter・Unity・Xamarin・Electronなどで作られたアプリも、プログラムを解析して深く診断します。
診断項目
主な診断項目
アプリの中身の解析と、動かしながらの検証を組み合わせて調べます。代表的な項目の一部をご紹介します。
※ 印のない項目は、スマホアプリとパソコンのアプリの両方で調べます。
通信の弱点5項目
| 通信ののぞき見(TLS Interception) | 暗号化された通信を、途中で読み取られたり書き換えられたりしないか |
|---|---|
| サーバー証明書の確認の不備 | 通信相手が本物のサーバーかどうかを、正しく確かめているか |
| 暗号化されていない通信 | 大事な情報を、暗号化しないまま送っていないか |
| アプリ内のWebページの通信 | アプリの中で表示するWebページ(WebView)で、上の3つの問題がないか |
| App Transport Securityの無効化iOS・Mac | 安全な通信を求めるOSの仕組みを、わざと切っていないか |
データの保存と暗号の弱点7項目
| バックアップからの取り出しスマホ | 端末のバックアップから、アプリのデータを丸ごと取り出せないか |
|---|---|
| ログへの機密情報の出力 | ログに、パスワードや個人情報などが書き出されていないか |
| ファイルの権限の設定Android・パソコン | 作ったファイルを、ほかのアプリやユーザーが読み書きできないか |
| 大事なデータの保護 | 守るべきデータを、安全な領域に保存するか暗号化しているか |
| 固定の鍵の使用 | 暗号の鍵などに、決まった値を使っていないか |
| ECBモードの使用 | 安全性の低い暗号の使い方を、理由なく使っていないか |
| バーナム暗号の使い方 | ランダムでない鍵で、使い捨て鍵方式の暗号(バーナム暗号)を使っていないか |
ログイン・権限の弱点6項目
| 認証の回避 | アプリの操作や環境を細工して、ログインを飛ばせないか |
|---|---|
| パスワードの自動送信 | パスワードなどを、アプリが勝手に何度も送っていないか |
| 埋め込まれたログイン情報 | IDやパスワードが、プログラムの中にそのまま書かれていないか |
| ログアウトの不備 | ログアウトの機能があり、きちんと働くか |
| 権限を超えた操作 | 本来の権限より多くのことができてしまわないか |
| アプリ側だけの権限チェック | 権限の判断を、サーバーではなくアプリ側だけに任せていないか |
プログラムの作りの弱点8項目
| クロスサイトスクリプティング | アプリに、不正なJavaScriptを実行させられないか |
|---|---|
| SQLインジェクション | アプリに、不正なデータベースの命令を実行させられないか |
| OSコマンド/コードインジェクションパソコン | アプリに、任意のコマンドやプログラムを実行させられないか |
| パストラバーサルパソコン | 本来さわれないファイルに、アクセスさせられないか |
| バッファオーバーフロー・整数オーバーフローパソコン | 想定外のデータで、プログラムを乗っ取ったり内部の状態を書き換えたりできないか |
| DLLインジェクションパソコン | 不正なライブラリを読み込ませられないか |
| サンドボックスからの脱出パソコン | アプリを閉じ込める安全の仕組みを、すり抜けられないか |
| 入力値の確認の不備パソコン | 想定外の値で、アプリの内部の状態を変えられないか |
OSの機能の使い方5項目
| デバッグできてしまう | 解析用のツール(デバッガ)を、外からつなげられないか |
|---|---|
| プライバシーの懸念 | 個人情報を集めたり、外部に送ったりしていないか |
| アプリの部品の公開Android・パソコン | アプリの部品を、ほかのアプリから簡単に呼び出せないか |
| 必要以上の権限 | アプリの機能に見合わない、強い権限を求めていないか |
| WebViewの設定の安全性Android | アプリ内のWebページから、アプリの機能を不正に使われないか |
改ざん・解析への強さと隠し機能6項目
| 不正な環境の検知 | root化・脱獄した端末や、エミュレータなどの不正な環境に気づいて止められるか |
|---|---|
| 改ざんの検知 | アプリを書き換えられたときに、気づいて止められるか |
| 難読化 | プログラムの中身を、簡単に読み解かれないようにしているか |
| 隠し機能 | 利用者に知らされていない機能がないか |
| テスト用の機能の残り | 開発中のテスト用の機能が、残ったままになっていないか |
| 不要な部品への依存 | 機能に見合わない部品(ライブラリ)を使っていないか |
※ 診断項目は OWASP Mobile Top 10 の分類と対応づけて管理しています。
料金
期間・費用の目安
費用は、対象のアプリの規模や、対応するOSの数によって変わります。正式なお見積もりは、内容を伺ってからお出しします。
-
アプリケーション診断
プログラムの中身の解析と、実際に動かしながらの検証を組み合わせて診断します。
- 費用の目安
- お見積もり
- 期間の目安
- 10営業日〜
※ 金額はすべて税別です。期間は診断の作業の日数で、対象の規模によって長くなります。
費用が変わる条件
- 画面や機能の数
- 対応するOSの数(iOS・Android・Windows・Mac・Linux)
- 通信先のAPIも一緒に診断するかどうか
- 改ざん対策・難読化などの防御の仕組みの有無
- 修正後の再診断の有無
報告書
報告書でわかること
経営層の方、開発の担当の方、監査や取引先へ説明する方。それぞれが必要な情報を、1冊の報告書にまとめてお渡しします。
セキュリティ診断 報告書結果サマリ
| No | リスクレベル | 指摘事項 |
|---|---|---|
| 1 | Medium | 権限の確認の不備 |
| 2 | Medium | サポートが終了したソフトの使用 |
| 3 | Low | ファイルアップロードの検証不備 |
| 4 | Low | HSTSの設定がない |
| 5 | Information | ログアウト後もトークンが使える |
※ イメージです
セキュリティ診断 報告書指摘の詳細
リスクレベル Medium
脆弱性の概要
再現の手順
対策
※ イメージです
経営層・ご担当の方へ
- 総合評価(A〜Eの5段階)見つかった弱点の危険度から、サービス全体の状態を5段階で評価します。
- 指摘事項の一覧見つかった弱点を、危険度(Critical〜Informationの5段階)の高い順に一覧にします。
- 業務への影響情報漏えいや不正な支払いなど、弱点が悪用されたときに業務で何が起きるかをご説明します。
開発の担当の方へ
- 再現の手順どの画面でどう操作すると攻撃できてしまうのかを、画面やコマンドつきでお示しします。
- 対象の箇所問題のある画面・URL・パラメータを、1つずつ特定します。
- 具体的な直し方開発の担当の方が、そのまま修正に取りかかれる内容でご提案します。
監査・取引先への説明に
- 診断の概要診断の期間・手法・使ったツール・対象の範囲を明記するので、取引先や監査への提出資料として使えます。
危険度の高い弱点は、すぐにお知らせします報告書の完成を待たずに、見つかった時点でご連絡します。
進め方
診断の進め方
- 01ご相談・ヒアリング対象のサービスと、ご希望の時期を伺います
- 02お見積もり・ご契約対象の範囲と期間を決めてお見積もりします
- 03事前準備テスト用アカウントや日程を調整します
- 04診断の実施プログラムの解析と、動かしながらの検証を行います
- 05報告書の納品・報告会結果と対策をご説明します
- 06再診断(ご希望の場合)修正できたかを確かめます
ご準備いただくもの
- 診断するアプリ(配信のテスター登録、またはアプリのファイル)と、対応するOS・バージョン
- テスト用のアカウント(権限の種類ごと)
- 通信先のサーバーの情報(検証環境があればその情報)
- 診断してよい日時と、緊急時の連絡先
よくあるご質問
よくあるご質問
ソースコードがなくても診断できますか?
できます。アプリのプログラムを解析して調べるため、ソースコードがなくても深く診断できます。ソースコードをお預けいただける場合は、ホワイトボックス診断と組み合わせることもできます。
まだ公開前のアプリでも診断できますか?
できます。TestFlightやDeployGateなどで配信していれば、テスターとしてご登録いただくだけで、ほとんどの場合診断できます。iOSアプリでも、開発チームへの登録は必要ありません。
改ざん対策や難読化をしていても診断できますか?
できます。防御の仕組みが入っているアプリでも診断でき、その仕組みがきちんと効いているかもあわせて確かめます。
アプリと、通信先のAPIをまとめて頼めますか?
はい。Webアプリケーション・API診断と組み合わせて、アプリと通信先のAPIをまとめて診断できます。