メインコンテンツにスキップ
ブログLinodeセキュリティ調査を振り返って

セキュリティ調査の振り返り

blog-generic-triangles

2016年1月5日、3つの顧客アカウントの不正アクセスに関する調査の一環で全てのお客様に対してパスワードのリセットを行いました。我々はこれらの問題に関して連邦当局と協力しており、犯罪捜査は進行中です。本日、私たちは我々および第三者のセキュリティ会社による調査結果を共有します。

詳細に入る前に、貴方のアカウント情報は安全であることを保証したいと思います。このインシデントの影響を受けたお客様は 3名様しか見つかっておらず、この問題は直々に解決いたしました。

経緯

これは、7月と12月の2つの別々の案件に関する調査の振り返りです。両ケースにはは類似点がありますが、2件の関連を裏付ける証拠はありません。いずれにしても、ここでは、私たちがそれらを把握したイベントの完全なタイムラインです。

7月9日、お客様から、お客様の Linode アカウントへの不正アクセスについて連絡がありました。顧客は自分の Linode のうち1つのルート パスワード のリセットを確認する電子メール通知を受け取ったことで、侵入者が自分のアカウントへのアクセスを取得したことを知りました。私たちの最初の調査では、不正なログインが1回目の試みで成功し、通常のアクティビティと遜色なかったことを示していました。

7月12日、法的機関の関与を見越して、顧客は Linode 不正アクセスに関与していると考えられる IP アドレスに対する保全要求を求めました。私たちは要求を尊重し、お客様に、そのLinode が悪意のある活動の源であることを示す追加の証拠(ログファイルなど)を提供するようお願いいたしました。その後顧客も法的機関もフォローアップを行わず、我々は明示的な原因なしに顧客データを調べることは行わないので、保存されたイメージは分析しませんでした。

同日、顧客は、アカウントにアクセスされたユーザーが、アカウントにアクセスするために必要な 2FA 資格情報を含むモバイル デバイスを数週間前に紛失したと報告し、その所有者があとでリモートでデバイスをワイプ(データ消去)しようとしたと説明しました。また、このユーザーは脆弱なパスワードを採用していました。これらの情報に照らして、資格情報が Linode から取得されたことを裏付ける証拠がないため、我々はこれ以上の調査を行いませんでした。

12月9日、セキュリティ関連の独立研究機関から連絡を受けました。研究機関では他の多くのサービスプロバイダーから資格情報を盗んだ個人を追跡していると主張しました。研究者は、個人がこれらの盗まれた資格情報を使用して我々の顧客アカウントの一部にログインしようとした可能性があることを私たちに知らせたいと考えていました。

私たちの最初の調査では、提供されたIPが実際に最初の試みで3つのアカウントにログインするために使用されたと結論付けました。つまり、ユーザーは通常のユーザーと同様に、ログインに必要な資格情報を持つ Linode Manager ログインページをアクセスしたことになります。同日私たちは顧客に連絡し、活動が疑わしいことを確認を受けました。またこれらのアカウントのいずれも多要素認証が有効になっておらず、すべてが脆弱なパスワードを採用していることを確認しました。

12月13日、我々は必要なフリート全体のXenセキュリティアドバイザリ(XSA)メンテナンスを開始し、24時間体制でローカル地域の夜間にサーバーを再起動しました。調査とは無関係ですが、これは12月18日まで続き、重要な資源的な制約となりました。

12月14日、私たちは私たちのインフラへの侵入の証拠は発見しなかったものの、 第三者セキュリティ企業へのインタビューを開始し、複数の法的機関に連絡を取りました。また、利用可能なすべての内部リソースを本件に専念的に投入し、虐待や悪用の証拠を特定するために環境の精査を開始しました。

12月17日、この事件と7月の事件との類似点により7月の事件の調査を再開し、その調査により保存されたイメージを調べる十分な理由があると結論付けました。

Linode は TOTP を使用して 2 要素認証を提供します。これは我々のサーバーと顧客の 2 要素認証アプリ (Google 認証システムなど) に保存、共有される秘密キーを使用するアルゴリズムです。このアルゴリズムは追加の認証コンポーネントとしてログイン中にユーザーが指定する時間に依存するコードを生成します。これらの秘密鍵は、データベースに格納するときに暗号化します。

7月の調査のイメージを調べたところ、TOTPキーを指定すればTOTPコードを生成できるソフトウェアの存在を発見しました。TOTP キーを保護するために使用する暗号化解除方法を実装するソフトウェアと、暗号化に使用する秘密キーを見つけました。また、bash の履歴に1回限りのコードを正常に生成するコマンドも見つかりました。見つかった資格情報は12月に行われた Linode Manage への不正ログイン認証情報とは無関係でありましたが、この情報の発見は私たちの調査の深刻さを大きく変えました。

12月21日、当社の第三者セキュリティパートナーが調査に参加しました。このチームは、不正なシステムレベルのアクティビティを特定するために、侵入者がデータベースに含まれる顧客の資格情報にアクセスすることを許可する法医学的分析を進めました。チームはまた、1つのLinode Managerアカウントから別のアカウントへの横断的な動きを起こすであろうWebアプリケーション誤用の証拠を探しました。さらにチームは、Linode データベースにアクセスする可能性のある攻撃ベクトルを特定することを目的とした標的となる脆弱性評価を開始しました。

12月25日、当社インフラに対するDDoS攻撃が始まりました。.これらの攻撃が不正アクセスの事件に関連していると裏付ける証拠はありませんが、この攻撃により調査からリソースを引き離す必要が生じました。これは、従業員がクリスマス休暇で休んでいることと合わせてサポートチームとオペレーションチームにさらなる課題を生み出しました。

1月5日、当社のセキュリティパートナーは調査を終了し、パスワードリセットを発行しました。社内セキュリティチームは引き続き当社インフラのセキュリティを数週間レビューし、全体的なセキュリティを改善するための詳細な計画を策定しました。

結論

当社のセキュリティパートナーの調査結果は、顧客の資格情報開示につながる Linode インフラへの悪用または悪用の証拠はないと結論付けました。さらに、セキュリティパートナーの当社インフラ そしてアプリケーションへの評価では、このレベルのアクセスを提供するベクトルは発生しませんでした。

Linode は、12月17日に発見された悪意の情報取得に使用された可能性のあるLishのSSHゲートウェイの脆弱性を発見しましたが、この仮定を裏付ける証拠はありませんでした。なお我々は直ちにこの脆弱性を修正しました。

不正アクセスを説明できるその他の要因には、以前に他のオンライン サービスで使用されている弱いパスワードや、それらのユーザーに対するフィッシング攻撃など、外部からの侵害が含まれます。

対応策

私たちは今回学んだことを活用し、インシデントとは無関係のエリアを含むインフラへの包括的な改善を行っています。私たちは以下に取り組んできました:

認証マイクロサービス: いくつかのアプリケーション (例 Linode Manager や Lish) は、ユーザ認証を実行します。以前はこれらのアプリケーションは、データベース内の資格情報に直接アクセスし、比較を実行することで、この機能を実行していました。今回、すべての顧客資格情報の所有権を維持する、慎重にセキュリティ保護され、監視されたマイクロサービスを含む新しいアプローチを開発しました。この方法では、アプリケーションがユーザー認証を必要とする場合、マイクロサービスは単純な "yes" または "no" を返すことによって資格情報を検証できます。アプリケーションは資格情報にアクセスできません。実際、私たちが運用するデータベース インフラは このマイクロサービスのロールアウトが完了すると、資格情報の情報を一切含まれていません。また、以前は何千回ものラウンドでsalted SHA-256ハーシェとして保存されていた顧客のパスワードは、bcryptを使用して保存され、その後のログイン時にシームレスにアップグレードされます。

Linode Manager通知: 新しい IPアドレスからのログイン試行やログイン失敗のアラートなど、お客様がそれぞれのアカウントアクティビティについて受け取る通知を強化するために取り組みます。

CCトークン化:当社の調査ではクレジットカード情報がアクセスされている証拠は得られなかったものの、支払い処理業者のトークン化機能を利用して、クレジットカード情報の保存に関連するリスクを取り除きました。

ポリシー: クリーンデスクからパスワードの標準に至るまで、NISTフレームワークから派生した複数のポリシーを開発してきました。重要な新しいポリシーは、インフラ 、データベースや認証サーバーなど機密性の高い要素のための "セキュリティゾーン" の作成です。これらの取り組みの結果、機密システムやデータにアクセスできる従業員の数が大幅に減少しました。

採用:上記の変更に加えて、私たちはシニアレベルのセキュリティ専門家を当社に雇い、セキュリティに専念する大規模なエンジニアチームを率いています。このチームは現在のベストプラクティスに従っていることを保証するだけでなく、書面によるポリシーを拡大し、プロビジョニング手順を正式化し、プロセスと説明責任によってポリシーがサポートされていることを根本的に保証します。

新しい Linode API:私たちの最も重要な長期的な戦略は、私たちに新しいスタートを与えるべく、過去13年間に学んだ教訓を適用する私たちのレガシーColdFusionコードベースの書き換えです。これを行うために、私たちはステートレスで RESTful で、Python で実装されている Linode APIを開発中です。私たちは過去数ヶ月間この作業を行っており、今後数週間以内に新しいAPIのパブリックアルファを発表する予定です。

オープンソース Linode Manager:この新しいAPIは、オープンソースで現在の managerを置き換える Linode Managerを含む、将来的に来るすべてのものの基礎となります。

将来を見据えて

コミュニケーションと透明性に関しては、改善の余地があることを認識しています。12月にかけた XSA と永続的な DDoS 攻撃は、DDoS 攻撃の性質と程度に関わらず、このセキュリティ インシデントを早くお客様に伝えるべきでした。当時、私たちがリソースに制約されていたと言うことは正当な理由にはなります。しかし、私たちはより良い対応を行雨ことができました。その後、チームメンバーが将来的にこのような重要なイベントに任命された場合には、お客様とのコミュニケーションを頻繁かつ透明に保つために手続きを変更することができました。

私たちは、これらのイベントを通じて私たちをサポートしてくれたお客様に非常に感謝しています。私たちは皆様の推薦を聞いて、あなたが過去数ヶ月間に我々に与えてくださったサポートを感じました。私たちがあなたのフィードバックに耳を傾け、行動し続けることを知っておいてください。

もし私たちがお客様を失望させたとしたならば私たちはどれほど残念であるか、お伝えして締めくくります。私たちは、お客様がホスティングプロバイダとして私たちにくださる信頼を大切にし、毎日その信頼に応えることにコミットしています。私たちは、今回提供した詳細によりいくつかの誤情報をクリアし、改善の機会に対処し、正しいことを行い、お客様とのコミュニケーションと透明性を高める意欲をお伝えできたと願っています。


コメント (17)

  1. Author Photo

    *”…we are incredibly grateful for the customers who have supported us throughout these events… [we] felt the support you’ve provided over the past few months… We value the trust you’ve placed in us…”*

    Nice sentiments, but words are cheap. You could have shown your appreciation by giving people some money off their bill for the period in question

  2. Author Photo

    If there is to be a new Linode Manager, please please PLEASE do not try and “modernize” or “streamline” the interface like Namecheap did. I like my utilitarian and functional Manager.

  3. Author Photo

    “We found software implementing the decryption method we use to secure TOTP keys, along with the secret key we use to encrypt them. We also found commands in the bash history that successfully generated a one-time code.”

    How do you explain the presence of software using the decryption method you use to secure TOTP keys, along with the secret key you use to encrypt them?

  4. Author Photo

    There are always some bumps on the road, sometimes these are big and hard to pass thru, but I think that you’re on the right track.

    Keep up the good work 🙂

  5. Author Photo

    The most significant take away for me is that Linode is becoming more transparent. Please continue down this path.

  6. Author Photo

    Good news for the new Linode manager, is there any ETA?

  7. Author Photo

    Long-term customer here. I appreciate all the effort made during the difficult time over the holidays. However, I have asked for 2FA by SMS rather than google authenticator (or in addition to), and was told it will not be happening. It seems that this breach could have been avoided at least in part if 2FA by SMS had been used. The user who lost his phone would have moved his phone number to his new phone as soon as it was replaced. The entire compromise of the TOTP algorithm would not have been possible. So my request, and recommendation still stands; give us 2FA by SMS if we want it.

  8. Author Photo

    I know how difficult these situations can be and wish you all the best in your continued growth and improvements. Unfortunately, I’ll be switching to another provider after reading this. I stuck around waiting for an explanation that I hoped would satisfy my concerns and this certainly doesn’t do that… There is reasonable evidence that your story regarding the cell phone is incorrect. In my opinion you should have had a senior security director years ago. Given the nature of the July incident, that image going unexamined is mind boggling and no explanation is given about how the 2FA crypto keys could have ended up on that system. It sounds entirely plausible your infrastructure got breached in July or earlier by a skilled attacker and the evidence is simply not there months later.

    It sounds like you’re moving in the right direction, but those are some seriously poor decisions by those in charge and I’ve lost confidence that further mistakes won’t be made.

  9. Author Photo

    I like the current Linode manager. It’s simple and fast and clean. Please don’t change it too much. (Don’t go all Namecheap on us)

  10. Author Photo

    I’m a longtime Linode customer as well. After reading up on this latest incident I am seriously considering moving my infrastructure to another provider. I’ve been through a number of these cases with Linode and so far have been unaffected and given them the benefit of the doubt. I completely understand that threats are uncovered and exploited and that’s a risk you take with any provider. This isn’t about me taking a knee jerk reaction. I’m fully aware that other providers have been exploited as well but Linode have had multiple exploits and that is reason for concern.

    In this post you state that you found software on a client’s VPS generating login credentials using a very private piece of your data and a piece of data that can be used to decrypt other customers data and you have no idea how it arrived on a clients machine and you don’t really seem bothered by that or at the very least you gloss over it. Have you audited every other instance to ensure they’re not also capable of generating keys/decrypting data? From my knowledge of this, the client in question was PagerDuty who alerted you after their own intrusion detection system picked up on the login. By your own account the initial illegal access looked like a legitimate login to your systems and didn’t raise any alarms. You also state that you don’t inspect customers instances without probable cause. So we have to assume that there might be other malicious software running in your infrastructure that you are not aware of and it’s allowing access that isn’t raising alerts.

    You say that only three customers were accessed under suspicious circumstances. On that face of it that looks like a small number, considering you have a large client base. However, from what I can gather these were large and notable customers PagerDuty and WPEngine, I believe. That, to me sounds less like a percentage risk and more like plucking high value targets. I’m only a small customer so it’s probably more out of luck that I haven’t been affected rather than my details not actually being available.

    Linode has offered a product that’s very valuable to me and my business. It’s provided reliable hosting and features. I chose them because I felt they would be able to support any application that I need to grow without the fuss of moving providers. I no longer have that confidence. The previous attack against Linode resulted in credit card loss and it’s only now that you are looking at tokenizing credit cards and moving to bcrypt for hashing?

    I do appreciate that resources get stretched and trying to pick out relevant data and act on it is really difficult in a growing business. But the lack of security awareness at Linode has got to a point not where I feel I can’t trust it with my business which is sad because my experience with them has been positive, well if you put aside data breaches, credit card loss and their private keys ending up on clients’ VPSs and inability to communicate.

  11. Author Photo

    “We also found commands in the bash history that successfully generated a one-time code”

    I don’t get how you saw this and the investigation concluded that “the security partner’s assessment of our infrastructure and applications did not yield a vector that would have provided this level of access.”

    I mean, I don’t understand why someone have a bash on your systems, how he achieved that and what changed so he can’t do it in the future

  12. Author Photo

    Just FYI, I’ve been forced to spend considerable ongoing time and money investigating other services and finally choosing a viable non-Linode. This is money that could have been spent on better things, even if it had just been more Linode servers. Outside 3-4 work weeks redirected, my computing budget doubled even after whittling down my 4 Linodes to two.

    You might consider joining forces with a cooperative and reputable industry counterpart in an effort to provide more viable business recovery scenarios for your mutual customers. In my case, now I have both a dedicated server vendor and Linode, a solution that is not neither pleasant nor economical. Each has complementary benefits.

    I hope that your security efforts prove successful and I concur with the comments that should you change the inside workings of the Linode manager, it should remain simple and shun any feature that is only cosmetic.

  13. Author Photo

    I agree with the poster above that Linode appears to be going down a path of greater transparency. I’m extremely happy to see this.

    I also believe that full disclosure and admitting fault where necessary is a very honorable thing, and you are to be commended for what you’ve said here.

  14. Author Photo

    Odd, all this transparency is making some people think there is a lack of security knowledge at Linode. Guys, you’d have this or worse at practically any other company.

    Sounds like almost this entire thing boiled down to a few customers who have no clue about security to begin with. Weak passwords and a mobile device that doesn’t have a screen code to lock the phone. Sigh, sorry Linode had to go through all of that because of a few lazy people, but it does look like they’ve learned a lot and are improving and moving forward.

    Kneejerk reacting will only put you with someone else, that probably isn’t doing the same thing as Linode.

    Keep up the great works guys and I’m glad to see the improvements.

  15. Author Photo

    Well done, Linode!

  16. Author Photo

    If you are going to update the Linode Manager API, *please, please, please* give us the ability to do programmatic snapshots.

    Thank you.

  17. Author Photo

    I greatly appreciate the explanation and transparency. So very different than other companies. This is the kind of thing that creates customer loyalty.

コメントを残す

あなたのメールアドレスは公開されません。必須項目には*印がついています。