1 ポイント 投稿者 GN⁺ 2024-02-25 | 1件のコメント | WhatsAppで共有
  • IT BrewのTom McKayは2022年にGizmodoを去る際、自分のSlackアカウントをSlackbotのように偽装し、数カ月にわたって削除を免れた
  • Slackはすでに使われている「Slackbot」という名前を防いでいたが、McKayは見た目が似たUnicode文字で表示名の制限を回避した
  • プロフィール写真も本物のSlackbotアイコンに似た怒ったバージョンに変え、管理者は重複したSlackbotと眉の違いに気づかなかった
  • アカウントが残っている間、McKayは同僚に「Slackbot fact of the day」のようなボットに見えるメッセージを送ることができた
  • 会社によってはこうしたいたずらを防ぐセキュリティ対策がある可能性があり、退職者アカウントの整理と表示名の検証が重要だ

退職後も残っていたSlackアカウント

  • IT BrewのTom McKayはGizmodoを去ったあと、自分のSlackアカウントをSlackbotのように偽装した
  • McKayはXに当時のスクリーンショットを共有し、The Vergeにもこのいたずらが本当だったと確認した
  • 偽装されたアカウントは数カ月のあいだGizmodoの管理者に発見も削除もされなかった

Slackbotのように見せた方法

  • SlackbotはSlack内で通知、オフィスのWi‑Fiパスワード確認、参加していないチャンネルでのメンション通知などを助けるおなじみのボットだ
  • McKayは退職時に既存のプロフィール写真を本物のSlackbotアイコンに似た怒ったバージョンの画像へ変更した
  • 表示名も「Slackbot」に変えようとしたが、Slackはすでに使用中の名前だとして通常の変更を許可しなかった
  • その代わり、文字に似たUnicode文字を使って名前の制限を回避した
    • 例: 「o」を見た目の似たUnicode文字「о」に置き換える方法

数カ月間できていたこと

  • この変更により、McKayの有効なSlackアカウントは数カ月にわたって削除を免れた
  • アカウントが残っている間、同僚にボットのように見えるメッセージを送ることができた
    • 例: 「Slackbot fact of the day: Hi, I’m Slackbot! That’s a fact. Have a Slack-ly day!」
  • 過去にGizmodoで働いていたVictoria Songは、この状況が驚きではないという反応を示した

会社ごとの防御可能性

  • すべての会社が同じやり方にだまされるわけではなく、一部の会社はこの種の状況を防ぐセキュリティ対策を備えている
  • Gizmodoの管理者は、McKayのアカウントはすでに削除されたと思っていた可能性がある
  • あるいは、怪しい眉のある重複Slackbotを見つけるほど細かく確認していなかった可能性もある

1件のコメント

 
GN⁺ 2024-02-25
Hacker News のコメント
  • 以前知っていた元社員が、モデムラックのコントローラーモジュールに Ringing というダイヤルアップ/ISDN プロビジョニングプロファイルを作っておいたことがある。Radius サーバーに作るとあまりに分かりやすいので避けたのだ。
    モデムラックのステータスページを見ると、接続中のユーザーたちに混じって、まだ取られていない電話のように Ringing 状態が1つ見えていて、完全に見つからないまま1年以上 128Kbit ISDN サービスを使っていた。
    もちろん、こういうことは勧めない。特に今では、CFAA が URL パラメータを変えることや、カーペットに鼻くそを飛ばすことまで含むように解釈されることもあるので。

    • CFAA について根拠があるのか気になる。むしろ URL パラメータの変更は問題ではない可能性が高そうに見えた。
      ニュージャージー州法上、「無許可アクセスまたは権限を超えたアクセス」で有罪とするには、コードやパスワードベースの障壁を回避したことを政府が立証する必要があり、その事件では公開されたログイン画面の一部にアクセスして、AT&T が意図せず公開していた情報をスクレイピングしただけだ、という趣旨だった。
      https://law.justia.com/cases/federal/appellate-courts/ca3/13...
    • Warcraft II の LAN ゲームで、兄弟2人がコンピューター相手に協力プレイをしていたとき、自分の名前を Computer に変えてこっそり参加したことを少し思い出した。
    • 前の職場で、Slack から自分のアカウントを削除してくれるのを数カ月間静かに待っていたことがある。ほぼ1年後にも社内チャンネルのかなり多くに完全なアクセス権が残っていて、本当におかしかった。
      親しい人たちではあったが、好意で残してくれていたわけではなく、Slack アカウント管理と Google Office 連携がめちゃくちゃだったからだ。
    • CFAA と鼻くその話がどういう経緯なのか分からない。検索しても参考資料を見つけられなかった。
  • 2016年ごろ、コンサルティング会社でお互いの Slack 名を変更できることを発見した栄光の日を思い出す。一時期、全員の名前がただの dad だった。

    • 子どもたちが Netflix/Disney+ のプロフィール名と写真は誰でも変えられると気づいたときと、かなり似て聞こえる。
    • いいけど、私は grandad にこだわる。でなければ孫娘たちを解き放つことになるが、あの子たちは容赦ない。
    • まだこれ可能なのかな?
      大学のフリスビーチームが Slack を使っている。
  • 名前変更を防ぐ方法を勧める人は多いが、それだけで問題が完全に解決するわけではない。実名が Jira という人も、どこかにはいるかもしれない
    以前働いていた $company では、顧客ダッシュボードをワイルドカードベースの https://*.$company.com に置いていた。たとえば https://foo.$company.com のような形だ
    ところが、誰かが wwwblog のように実在するレコードと衝突するダッシュボードのスラッグを選ぶと、そのダッシュボードは完全にアクセス不能になる。プレフィックスを変更する設定も https://$dashboard.$company.com にあるため、顧客が自分で直すことはできず、サポートチームが必要になる。当然、サポートツールにも $dashboard プレフィックスを直接変更する機能は公開されていなかった
    ブロックリストをどう作るかも些細な問題ではない。既存の DNS 項目、すでに存在する $dashboard プレフィックス、罵倒語、Unicode 記号、Punycode の xn-- プレフィックス、過去のプレフィックスのリダイレクト、将来の先取り防止のための予約まで必要になる
    Slack にこうした穴があるのは驚きではない。本質的に難しい問題だ

    • Zendesk は顧客ダッシュボードを自社メインドメインの直接のサブドメインに置いている。独自ドメインも許可しており、使うには Zendesk が付与したサブドメインを指す CNAME として作る必要がある
      https://support.zendesk.com/hc/en-us/articles/4408838571930-...
      GitHub や Shopify のように、顧客ページ用のサブドメインは少なくとも別ドメインに置くほうがよいと思う。GitHub は GitHub.com を自社ドメインとして使い、GitHub.io をユーザーページ用ドメインとして使っており、Shopify も Shopify.com と myshopify.com を分けている
      顧客用の別ドメインの利点は、会社が直接使いたい既存・将来のサブドメインと衝突しにくく、そのドメインを Public Suffix List に入れて潜在的な問題を避けられることだ。それでも、侮辱的だったり誤解を招いたりする単語はフィルタリングする必要がある
      https://publicsuffix.org/
    • 配偶者の職場には、実際に Admin という名前の従業員がいる。IT 部門はそれをどう扱うべきか苦労している
    • ここで本当に Slack を擁護しようとしているのか? oо は、あり得るホモグラフ攻撃の中でもほぼ最も簡単な部類に入る
      https://en.wikipedia.org/wiki/IDN_homograph_attack
      退職時に McKay がプロフィール写真をより怒った Slackbot アイコンのように変え、名前を Slackbot に変更したという内容だが、Slack は Slackbot という名前がすでに使われているとしてブロックする一方、o を Unicode 文字の о に変えると通った
      この英字/キリル文字のペアは、2001年に公開された初期のホモグリフ攻撃の一つでもすでに使われていた
      https://web.archive.org/web/20200102175251/http://www.cs.tec...
      2022年時点で Slack の価値はおよそ200億ドルで、ほぼ10年にわたって運営されていた。しかも、セキュリティを必要とする組織・企業向けのユーザー名ベースのソフトウェアだ
    • 使用できる文字を制限し、変更を許可する前にそのページがすでに解決されるかどうかをそのまま確認すればよい。そうすれば顧客が締め出されることもなく、文字で別の対象になりすますことも難しくなる
      一部の記号を許可したいなら許可リストを使うか、ユーザー名が slackbot のような重要な名前と十分なレーベンシュタイン距離を持つか検査して、禁止するか人間の確認対象として表示すればよい
      すべてを防ぐのは本質的に難しいが、最大の問題を防ぐのは難しくない
    • この場合は、「根本的に異なる名前空間が衝突しないようにする」ことは、それほど難しい問題ではない
  • 隠れるのに最適な場所は、無効化すると何が壊れるか分からず、誰もが触るのを怖がるサービスアカウントのように見えるものだ。うまい

    • 逆に、うちの職場のやたら熱心な IT 担当者が Jira の自動化アカウントを削除してしまったことがある。そのアカウントがなぜ存在するのか分からず、$CompanySecretary という名前が怪しく見えたからだ
      数日後、本当に重要なものが壊れる前に、そのユーザーを参照していたすべてのワークフローとチケットを探して直すのに大変苦労した
    • 有名なマルウェアとそのプロセス名を思い出す
  • 「もちろん、すべての会社がこのいたずらに引っかかるわけではない」とはいうが、最後に笑うのは会社かもしれない: https://en.wikipedia.org/wiki/Computer_Fraud_and_Abuse_Act

    • だから彼が2年待ってから話したというのがポイントだ。ちょうど CFAA の公訴時効と一致する
    • 「軽いいたずら」という文言を見て、最初に思ったのがこれだった
    • 最後に笑うのは Slack かもしれない。結局、「機密性の高いビジネスデータ」を大量に手に入れるのだから
  • ASCII 文字を見た目の似たUnicode 文字に置き換えるのは昔からある手口。こういう文字はかなり多く、コードに入れて同僚の開発者を驚かせるのに使える。4月1日も近いし
    こうした「危険な」文字を強調表示する Vim プラグインも作った: https://github.com/vim-utils/vim-troll-stopper
    Unicode 文字でいたずらされたことはないが、日本のコンサルタントが翻訳ファイルに意図せず「和文スペース」文字を入れてしまい、アプリが壊れたことはある。いつも Vim プラグインを有効にしていたので、原因はすぐ分かった

    • 多くのアプリが親切にもハイフン2つを、見栄えのよいUnicode の長いダッシュに置き換え始めたせいで、コマンドラインツールが壊れる
    • これ覚えてる: https://news.ycombinator.com/item?id=10438363
    • 偶発的なゴミ文字も遠くまで影響し得る。医療報告書で誰かが上付きの Oを度記号のように使っていたのを思い出す
      それが後で上付きではない文字に変換され、意味がかなり変わってしまった。さらに不親切だったのは、その記号を試みた後に degrees という単語も一緒に書いていた点
  • Slack が名前変更のロックを許可していないなら、大企業にとってはとんでもないセキュリティホールになりそう
    名前を CEO に変えてプロフィール画像も合わせれば、手遅れになるまで違いに気づく可能性は極めて低い。Slackbot に変えるのは小さなことに見える

    • 名前変更はロックできる。Enterprise Grid 組織にいるが、表示名とユーザー名は社員プロフィールと同期されている
      デスクトップアプリを起動するたびに SSO も必須なので、退職したら絶対に戻れない。アカウントも非常に早く無効化するので、モバイルも大きな心配ではない可能性が高い
      チケットを切らずに変更できるのは、実質的に写真と、あまり重要でない自由入力フィールドがいくつかだけ
    • 組織設定で可能。下の SAML/SSO の話も同じ。名前を変えられるなら、IT 管理者がいないか怠慢だというのに近い
    • 大企業は SAML や他のフェデレーション認証を使って、会社の認証なしではログインできないようにしている
    • 同時に、名前変更機能は本当に大きな恩恵でもある
      うちでは表示名にそのまま在席情報を入れる形で乱用している。例えば mike-2/12~16vac. のように書いて、連絡する人が応答時間を見積もったり、予定された休暇の数日前なら仕事を頼んでもよいか判断できるようにしている
      実際のステータス属性は誰も見ていないようだったし、カレンダーまで行って確認するよりはまし
    • うちの会社が最近ビデオ会議システムで参加者が名前を変える機能を削除した理由の一つは、おそらくこれだと思う
  • 人々が彼に返信しているスクリーンショットを見ると、彼が Slackbot ではないことを明らかに分かっていて、Tom と呼んでもいる。だからタイトルとは少し矛盾する。彼は明らかに「見つかっていない」状態ではなかった
    うちの Slack にも元社員がまだ残っている。たまに立ち寄って挨拶してくれるが、見ていてうれしい。そのうち誰かがある日、皮肉っぽい Slackbot の物まねを始めても、うちなら笑って流すと思う

    • ここでの意味は「経営陣に見つかっていなかった」ということ。記事にもはっきり出ている。友人たちは彼がいることを知っていて、一緒に笑っていた
    • うちも似たようなもの。Slack は主なコミュニケーションチャネルではなかったが、外部コンサルタント用に使っていて、退職した人たちが追い出されないまま、ずっとランチの約束をしていた
  • 以前働いていた場所は Slack アカウントの無効化が遅かった。そこで退職時に #daves_cave という非公開チャンネルを作り、友人たちを招待した
    ときどき短い話や気の利いた一言を残していて、経営陣が気づいて私のアカウントを無効化するまでは楽しかった

    • 個人の有料 Slack チームを持っているが、月10ドルくらいだったと思う。他の有料 Slack チームの人たちをルームに招待して会話できる
      この方式の良い点は「意図された設計」なので閉じられる可能性が低く、コンピュータ不正使用関連の法律に引っかかる可能性も低いこと
  • 会社では、この問題の答えはシングルサインオンだと考えていたのではないかと思う
    最近は IT を運用していないが、以前運用していたときは Azure Active Directory で退職者を無効としてマークしていた。そうすると Office 365、Outlook、Teams などどのサービスにもログインできず、MS SSO を使うサードパーティサービスにも入れなかった。Slack もそこにつなげるのが筋ではないか?

    • 有能、または十分な人員のいる IT 部門なら当然そうする。ただし、別の部門が IT に相談せず Slack を設定した可能性もある