Twilioでは、Account SIDとAuthトークンがREST APIの認証情報として使用され、非常に重要な役割を果たしています。多くの不正ユーザーはそのことに気付いています。残念なことに、フィッシングのほか、GitHubなどのサイトで公開されているコードからアカウントSIDや認証トークンを検索して見つけるなど、新たな手口でTwilioプロジェクトにアクセスする可能性があります。
これらの認証情報を考えなしに共有したり、公開したままにしておくと、誰でも簡単にお客様のアカウントにアクセスしてお客様になりすまし、非常に短期間のうちに何万円にもなる不正行為を働くことが可能です。こうした不正行為には、金融機関や政府機関を騙り、多くの不正な発信通話やテキストメッセージを送信する、フィッシングを目的としたものがあります。不正ユーザーは、Twilio電話番号に設定されたのURL設定を変えることもできます。
アカウントの乗っ取りとは
アカウントの乗っ取りとは、誰かがお客様のアカウントに、お客様の許可なく不正にアクセスすることです。以下のような異変に気付いた場合は、注意してください。
- 無許可の通話またはメッセージがお客様のアカウントから発信・送信される
- メッセージに、偽のPayPal、Facebook、金融機関などのログインページに誘導するフィッシングリンクが含まれている
- メールアドレスまたはパスワードが許可なく変更されている
- 通常は通話・SMSの発信・送信を許可していない国に、アウトバウンドトラフィックが送信される
アカウントが実際に侵害されているかどうかを判断する
異変に気付いているか、アカウントが乗っ取られているかどうか確信が持てない場合は、GitHubでお客様のアカウントSIDを検索してみるのもひとつの手です。自分では何も投稿していないと確信していても、組織の誰かが投稿した可能性があります。これは、それを確認するための一番簡単な方法です。以下にGithubでの検索の方法を説明します。
- コンソール のProject Settings ページにアクセスしてAccount SIDをコピーします。
- Github.com にアクセスします。
- Github サーチフィールドにAccountSIDを貼り付けて検索します。
あるいは、お客様のアカウントSIDを次のURLのAC123abc456def789ghi0j
と置き換え、変更したURLをコピーしてWebブラウザに貼り付けます。
https://github.com/search?q=AC123abc456def789ghi0j&type=Code
検索結果の[Code](コード)フィールドに0
と表示されれば、ひとまず安心です。
1
(または0
以外の数字)が表示される場合、アカウントが侵害されている可能性があるため、何らかの措置を講じる必要があります。[Code](コード)をクリックし、次の特定の情報を確認します。
- コードがサイトにアップロードされた時間
- コードをアップロードしたユーザー
- Account SID
- Authトークン
アカウントが侵害されている場合: 次のステップ
Twilioプロジェクトが侵害されたこと、または漏洩により侵害を受けやすいことが判明した場合は、直ちに次の手順を実施してください。
1. お客様のアカウントに関連付けられているすべてのユーザーのパスワード変更 します。
- Twilioの最小パスワード要件で推奨されているように、なるべく長いパスフレーズを使用してください。
- 提供されている電子メールに同じパスワードを使用している場合は、電子メールプロバイダーのパスワードをローテーションし、サービスごとに異なるパスワードを使用することを強くお勧めします。
2. Auth トークンをリセットします。
- 侵害されたアカウントにサブアカウントがある場合は、そのサブアカウントの認証トークンもリセットする必要があります。
注意: 新しい認証トークンがプライマリに昇格すると、古いトークンは基本的に使えなくなります。新しいトークンを昇格させると、旧認証トークンによるTwilioへのリクエストはすべて、直ちにエラーとなります。旧トークンを使用している既存のTwilioアプリすべてを、新認証トークンを使用して更新してください。更新しなければ、正常に機能しません。
3. 既存のAPIキーをすべて削除します。
- 設定の下のAPIキーをクリックし、APIキーを削除します
https://www.twilio.com/console/project/api-keys - 新しいAPlキーを作成できるのは、アカウントがアクティブ化されてからです
4. お客様のアカウントに関連付けられているすべてのユーザーの2要素認証(2FA)を有効にします、。
- ログイン前にセキュリティコード(SMSまたは音声通話により送信)の入力が必要になるため、プロジェクトの保護が強化されます。
5. 実行中のアプリケーションやTwilioの連携が適切に保護されており、最新バージョンのソフトウェアが実行されていることを確認します。
- 更新頻度が少なく、悪意のある攻撃者から頻繁に標的にされているフレームワーク(Wordpressなど)や管理ツール(cPanelなど)は、特に注意が必要です。
- デバッグモードでアプリケーションが実行されていないことを確認します。デバッグモードでは、気付かずにトークンを公開してしまう可能性あります。
- Twilioコードを公開するときは、公開前に、認証トークンをコードから削除または非表示にするなど、注意を払う必要があります。
6. Twilioサービスへのログインに使用するコンピューターがマルウェアに侵害されていないことを確認し、ウイルス対策/マルウェア対策ソフトウェアを実行します。
7. Voice Geographic PermissionsとSMS Geographic Permissionsを再確認し、通話またはSMSの送信先を、通話またはメッセージのやり取りを予定(想定)している国に限定します。その方法については、「音声の地理的許可でアカウントを保護する」(英語)を参照してください。利用トリガーを設定し、利用状況のカテゴリに1日の制限を設定することもできます。
8. すべてのユーザーに関連付けられているメールアドレスを確認します
- メールアドレスが変更されたと思われる場合は、変更してください。
9. アカウントへのサインアップに使用した発信者IDが変更されていないことを確認します。
- 発信者IDは、2FAが有効化されている電話番号です
- これらの番号が変更されたと思われる場合は、変更してください(英語)。
10. ポートを閉じ、不要なファイルを削除し、サイトとその連携が最新であることを確認します。これによりWebサイトを保護できます。
11. Webサイトのアクセス許可構造全体を見直し、Authトークンが プレーンテキストで格納されていないこと、非公開であることを確認します。
12. 上記すべてとお客様のアカウントの保護を補強するために、サードパーティのセキュリティ会社を利用することも検討してください。
最後に、Twilioの不正行為対策チーム(Fraud Operations team)にぜひお問い合わせください。チームは、他に不正行為がないかプロジェクトを確認し、プロジェクトがサスペンドされている場合、アカウントを再開できます。また、アカウントの保護に関する他の質問にもお答えします。
不正行為対策チームへのお問い合わせは、fraud@twilio.com宛てにメールでお願いします。英語での対応となることをご了承くださいませ。