Twilioは、Account SIDとAuth Token (もしくは API Key と API Secret)が REST API の認証情報として使用されており、非常に重要な役割をはたしています。不正利用者はこれらの認証情報をフィッシングや、GitHub などで公開されているコードから検索して見つけ出すなど、様々な方法で Twilio プロジェクトにアクセスしようとしています。そのため認証情報を共有したり、公開しないよう注意が必要です。
アカウント乗っ取りのケース
第三者があなたのアカウントに不正アクセスし、不正利用したケースには下記があります。
- お客様の許可なく SMS や電話が大量に送信・発信された
- SMS の本文にお客様の覚えのない偽の PayPal、Facebook、または金融機関のログインページへの誘導などのフィッシングリンクを含むメッセージが含まれていた
- メールアドレスやパスワードが許可なく変更されていた
- 普段送信していない国に SMS 送信や電話の発信が行われた
- 覚えのない電話番号が購入されていた
- 覚えのないサブアカウントが作成されていた
アカウントが実際に不正利用された場合の対処・対策
-
Auth Token を変更します。
- Auth Token の変更方法
- 不正利用されたアカウントにサブアカウントがある場合は、サブアカウントの Auth Token も変更が必要です
- 注意点: 変更後は古い Auth Token は使用できなくなります。古い Auth Token を設定しているシステムは停止するため、新しい Auth Token に更新する必要があります
-
API Key をご利用の場合は既存の API Key をすべて削除します。
- コンソールの API Keys で削除します
- API Key はアカウントがサスペンド中は作成できません。新しい API Key はアカウントがアクティブ化されてから作成してください
-
各プロジェクトに参加している全てのユーザーのパスワードを変更します。
- 参加ユーザーの確認方法。退職者や利用していないユーザは削除してください
- パスワードは、16 文字以上で強固に設定する必要があります。パスワード要件はこちら
- メールソフトなど別サービスと同じパスワードを使用している場合は、違うパスワードを設定してください
-
アカウントに関連付けられているすべてのユーザーに対して二要素認証(2FA)を有効にします。
-
GitHub などのサイトでお客様の Account SID や Auth Token などの認証情報を検索します
-
Twilio のコンソールにアクセスし、Account SID をコピーします
-
GitHub にアクセスし、ログインします
-
Code に「0」と表示されていれば該当なしです。0 以外が表示されている場合は、対策が必要です。「Code」をクリックして AuthToken などの重要な情報が漏洩していないか確認してください
-
※過去のコミットやブランチにもないかご確認ください
-
-
実行しているアプリケーションおよび Twilio との連携が適切に保護されており、最新のソフトウェアバージョンで実行されていることを確認します。
- 多くの場合更新されず、悪意のある第三者の標的にされやすいフレームワーク(WordPressなど)や管理ツール(cPanelなど)が含まれます
- アプリケーションが開発者モードやデバッグモードで実行されていないことを確認してください。デバッグモードでは、意図せず Auth Token が公開される可能性があります。例えば PHP の Laravel をご利用の場合、デバッグモードが有効になっていないかご確認ください
- Twilio のコードを公開する又は既に公開している場合は、コード上の Auth Token を削除または非表示になっていることを確認する必要があります
-
Twilio のサービスにログインするために使用しているコンピュータがマルウェアに侵害されていないことを確認し、アンチウイルス/アンチマルウェアソフトウェアを実行します。
-
地理による許可(Geographic Permissions)の機能を利用して、通話や SMS の発信を想定している国にのみ制限します。
- Voice Geographic Permissions と SMS Geographic Permission はコンソールから設定します
- Usage Triggers の設定も役立ちます。使用量がしきい値に達した場合、お客様のアプリケーションに通知することができます。サブアカウントの場合、しきい値を超えたらアカウントをサスペンドすることもできます
-
すべてのユーザーに関連付けられているメールアドレスを確認します。
- コンソールの User Settings でメールアドレスが変更されていないことを確認します
-
Twilio に登録している電話番号が変更されていないことを確認します。
- 電話番号はコンソールにログイン際の 2FAの認証コードの送信先として登録されている電話番号です
- コンソールの User Settings で確認します
-
Web サイトが保護されているか確認します。不要なポートを閉じて、不要なファイルを削除し、サイトとの連携が最新であることを確認します。Web サーバやアプリケーションのログ、Web サーバが稼働する OS のログに不正なアクセスがないことをご確認ください。
-
Web サイトの権限構造を全て見直します。認証トークン等がプレーンテキストで保存されていないこと、一般に公開されていないことを確認します。
- ユーザの Twilio コンソールのログイン履歴は Monitor Event の user-session.created を参照ください。アクセス元 IP も取得可能です。日付指定と詳細の取得が可能です。
-
上記のすべての検証とお客様のアカウントの保護を支援するために、サードパーティのセキュリティ会社へ相談することをご検討ください。
こちらもあわせてご参照ください。
Twilioのセキュリティ対策とお客様が取れるセキュリティ対策
Anti-Fraud Developer’s Guide
不正アクセスの疑いがある場合、twilio.com からお客様に原因と対策のメールを送っている場合があります。そちらもご参照ください。
不正利用によりアカウントがサスペンドされた場合、上記をご確認の上、弊社までご連絡ください。
アカウントの再開を支援いたします。
関連記事:
Proactive Steps for Customers Experiencing Account Takeover - Twilio Support
0 コメント