元Gizmodo記者、「Slackbot」に改名して数カ月間見つからず
(theverge.com)- 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件のコメント
Hacker News のコメント
以前知っていた元社員が、モデムラックのコントローラーモジュールに
Ringingというダイヤルアップ/ISDN プロビジョニングプロファイルを作っておいたことがある。Radius サーバーに作るとあまりに分かりやすいので避けたのだ。モデムラックのステータスページを見ると、接続中のユーザーたちに混じって、まだ取られていない電話のように
Ringing状態が1つ見えていて、完全に見つからないまま1年以上 128Kbit ISDN サービスを使っていた。もちろん、こういうことは勧めない。特に今では、CFAA が URL パラメータを変えることや、カーペットに鼻くそを飛ばすことまで含むように解釈されることもあるので。
ニュージャージー州法上、「無許可アクセスまたは権限を超えたアクセス」で有罪とするには、コードやパスワードベースの障壁を回避したことを政府が立証する必要があり、その事件では公開されたログイン画面の一部にアクセスして、AT&T が意図せず公開していた情報をスクレイピングしただけだ、という趣旨だった。
https://law.justia.com/cases/federal/appellate-courts/ca3/13...
Computerに変えてこっそり参加したことを少し思い出した。親しい人たちではあったが、好意で残してくれていたわけではなく、Slack アカウント管理と Google Office 連携がめちゃくちゃだったからだ。
2016年ごろ、コンサルティング会社でお互いの Slack 名を変更できることを発見した栄光の日を思い出す。一時期、全員の名前がただの
dadだった。grandadにこだわる。でなければ孫娘たちを解き放つことになるが、あの子たちは容赦ない。大学のフリスビーチームが Slack を使っている。
名前変更を防ぐ方法を勧める人は多いが、それだけで問題が完全に解決するわけではない。実名が Jira という人も、どこかにはいるかもしれない
以前働いていた $company では、顧客ダッシュボードをワイルドカードベースの https://*.$company.com に置いていた。たとえば https://foo.$company.com のような形だ
ところが、誰かが
wwwやblogのように実在するレコードと衝突するダッシュボードのスラッグを選ぶと、そのダッシュボードは完全にアクセス不能になる。プレフィックスを変更する設定も https://$dashboard.$company.com にあるため、顧客が自分で直すことはできず、サポートチームが必要になる。当然、サポートツールにも $dashboard プレフィックスを直接変更する機能は公開されていなかったブロックリストをどう作るかも些細な問題ではない。既存の DNS 項目、すでに存在する $dashboard プレフィックス、罵倒語、Unicode 記号、Punycode の
xn--プレフィックス、過去のプレフィックスのリダイレクト、将来の先取り防止のための予約まで必要になるSlack にこうした穴があるのは驚きではない。本質的に難しい問題だ
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 部門はそれをどう扱うべきか苦労している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のような重要な名前と十分なレーベンシュタイン距離を持つか検査して、禁止するか人間の確認対象として表示すればよいすべてを防ぐのは本質的に難しいが、最大の問題を防ぐのは難しくない
隠れるのに最適な場所は、無効化すると何が壊れるか分からず、誰もが触るのを怖がるサービスアカウントのように見えるものだ。うまい
Jiraの自動化アカウントを削除してしまったことがある。そのアカウントがなぜ存在するのか分からず、$CompanySecretaryという名前が怪しく見えたからだ数日後、本当に重要なものが壊れる前に、そのユーザーを参照していたすべてのワークフローとチケットを探して直すのに大変苦労した
「もちろん、すべての会社がこのいたずらに引っかかるわけではない」とはいうが、最後に笑うのは会社かもしれない: https://en.wikipedia.org/wiki/Computer_Fraud_and_Abuse_Act
ASCII 文字を見た目の似たUnicode 文字に置き換えるのは昔からある手口。こういう文字はかなり多く、コードに入れて同僚の開発者を驚かせるのに使える。4月1日も近いし
こうした「危険な」文字を強調表示する Vim プラグインも作った: https://github.com/vim-utils/vim-troll-stopper
Unicode 文字でいたずらされたことはないが、日本のコンサルタントが翻訳ファイルに意図せず「和文スペース」文字を入れてしまい、アプリが壊れたことはある。いつも Vim プラグインを有効にしていたので、原因はすぐ分かった
それが後で上付きではない文字に変換され、意味がかなり変わってしまった。さらに不親切だったのは、その記号を試みた後に
degreesという単語も一緒に書いていた点Slack が名前変更のロックを許可していないなら、大企業にとってはとんでもないセキュリティホールになりそう
名前を CEO に変えてプロフィール画像も合わせれば、手遅れになるまで違いに気づく可能性は極めて低い。Slackbot に変えるのは小さなことに見える
デスクトップアプリを起動するたびに SSO も必須なので、退職したら絶対に戻れない。アカウントも非常に早く無効化するので、モバイルも大きな心配ではない可能性が高い
チケットを切らずに変更できるのは、実質的に写真と、あまり重要でない自由入力フィールドがいくつかだけ
うちでは表示名にそのまま在席情報を入れる形で乱用している。例えば
mike-2/12~16vac.のように書いて、連絡する人が応答時間を見積もったり、予定された休暇の数日前なら仕事を頼んでもよいか判断できるようにしている実際のステータス属性は誰も見ていないようだったし、カレンダーまで行って確認するよりはまし
人々が彼に返信しているスクリーンショットを見ると、彼が Slackbot ではないことを明らかに分かっていて、Tom と呼んでもいる。だからタイトルとは少し矛盾する。彼は明らかに「見つかっていない」状態ではなかった
うちの Slack にも元社員がまだ残っている。たまに立ち寄って挨拶してくれるが、見ていてうれしい。そのうち誰かがある日、皮肉っぽい Slackbot の物まねを始めても、うちなら笑って流すと思う
以前働いていた場所は Slack アカウントの無効化が遅かった。そこで退職時に
#daves_caveという非公開チャンネルを作り、友人たちを招待したときどき短い話や気の利いた一言を残していて、経営陣が気づいて私のアカウントを無効化するまでは楽しかった
この方式の良い点は「意図された設計」なので閉じられる可能性が低く、コンピュータ不正使用関連の法律に引っかかる可能性も低いこと
会社では、この問題の答えはシングルサインオンだと考えていたのではないかと思う
最近は IT を運用していないが、以前運用していたときは Azure Active Directory で退職者を無効としてマークしていた。そうすると Office 365、Outlook、Teams などどのサービスにもログインできず、MS SSO を使うサードパーティサービスにも入れなかった。Slack もそこにつなげるのが筋ではないか?