2 ポイント 投稿者 GN⁺ 2025-04-02 | 1件のコメント | WhatsAppで共有
  • ある大学の新人データベースプログラマーが、キャンパス内ネットワークプリンターの表示文言を変更し、有料印刷ポリシーのように見せかけたエイプリルフール事件
  • いたずらは、HP 9000 K250サーバーのプリンタースプールへのアクセス権と、LaserJetのREADYメッセージ変更機能を使って、各プリンターにINSERT 5 CENTSと表示させる方式だった
  • プリンターは引き続き正常に印刷でき、実際の変化は表示パネルの文言だけだったが、キャンパス全体の管理メーリングリストに送ったポリシー案内メールのせいで、一部の職員が行政府に直接問い合わせ、騒ぎが大きくなった
  • 午前8時30分ごろには本部オフィスが混乱状態になり、HR責任者はCFOの出勤前に訂正メールを出すよう求めたが、最初の訂正文は実際にページ課金の議論があった事実と衝突し、再修正が必要だった
  • 事件は次の人事評価にpoor judgmentの一文が残る形で締めくくられ、キャンパスでは以前のいたずらより技術的に優れた伝説的ないたずらとして記憶されている

大学の電算室とCARS環境

  • 最初の職場は大学のデータベースプログラマーで、学部の専攻はコンピューター関連ではなかったが、BSD/386とSunOSの実務知識、前任者の推薦によって採用された
  • 担当システムは、Hewlett-Packardの大型PA-RISCサーバーであるHP 9000 K250だった
    • サーバールームはオフィスの下の階にあり、カードキー式ロックとhalon消火システムを備えたオンプレミス環境だった
    • K250は以前使っていたEncore系ミニコンピューターを置き換えたもので、同じサーバールームにはAIX RS/6000、T1回線、ターミナルサーバー、Cabletronルーター、通信機器もあった
  • K250は学生情報システムCARSを動かしていた
    • CARSは後にJenzabarへと名前が変わったシステム
    • 当時のOSとデータベースは、それぞれHP/UX 10.20とInformixだった
    • CARSのコードは、Informixテーブル、画面、ストアドプロシージャ、独自のテキストUIライブラリ、Perform画面、SQL、C-shellスクリプト、C、ESQL/Cで構成されていた
    • 変更管理はRCSと大きなMakefileで行われていた
  • 業務範囲は、資源管理、財務、出席追跡といった管理部門のコード作成と保守で、その後はCARSの新しいWebモジュールでPerlベースのカスタムアプリケーションも作成した

いたずらの技術的アイデア

  • CARSはキャンパス内のほとんどのプリンターを管理しており、一部のRS/6000直結プリンターだけが例外だった
  • キャンパスの行政用プリンターの大半は、JetDirectネットワークカードを搭載したHP LaserJet 4系だった
  • LaserJetのVFDパネルに表示されるREADYメッセージは変更可能だった
    • 当初は、上司が印刷するときにプリンターがあいさつを表示する程度の使い方だった
    • その後、K250のプリンタースプールへのアクセス権と、スプールディレクトリ名がホスト名と同じである点を使えば、キャンパス内のすべてのネットワークLaserJetの場所が分かることに気づき、これをいたずらに利用した
  • エイプリルフールの計画は、非常に早い時間に出勤して全スプール項目を巡回し、各プリンターの表示メッセージをINSERT 5 CENTSに変えるというものだった
    • すべてのネットワークLaserJetが、印刷前に5セント硬貨を要求しているように見せる効果があった
    • 実際のプリンター状態は依然として準備完了のままで、印刷ジョブを送れば正常に印刷された

実行スクリプトと案内メール

  • 実際のスクリプトは、/opt/carsi/spoolディレクトリ内の全項目を巡回しながら、PJLコマンドをポート9100へ送る単純なC-shellスクリプトだった
#!/bin/csh -f

cd /opt/carsi/spool
foreach i (*)
        echo '^[%-12345X@PJL RDYMSG DISPLAY="INSERT 5 CENTS"' | netto $i 9100
end
  • ^[はASCII 27のESCape文字で、nettoはnetcatが広く使われる前に自作した、netcatに似たスクリプトだった
  • いたずらの効果を高めるため、キャンパス全体の行政メーリングリストにプリンターポリシー変更案内メールを送った
    • サービスコスト増加のため、キャンパスのプリンターをページ単位課金方式に再プログラムするという内容だった
    • ほとんどのプリンターが1ページあたり5セントの預託金を要求し、アカウント請求か、技術者が設置する硬貨収納装置を通じて支払えると書いた
    • アカウントのないオフィスのプリンターは、印刷するページごとに5セントを入れるよう自動で要求すると案内した
    • プリンターアカウントはCARSで管理されており、Helpdeskには電話せず自分に問い合わせてほしいと記した
  • 当初の計画では、その日の終わりにすべてのプリンター表示を再びREADYへ戻し、静かにやり過ごすつもりだった

予想以上に大きくなった騒動

  • メール送信後、何件か不安げな電話を受けたが、相手がいたずらだと知ると大笑いし、該当プリンターは手動で元に戻した
  • 筆者を知っていていたずら好きだと分かっている人たちは、日付を見て前向きな返信を送ってきた
    • その日の遅くには、ある人がレーザープリンターで印刷した紙に5セント硬貨を貼り付け、キャンパス内便で送ってきた
  • 問題は、彼を知らない人たちが電話せず、大学行政府に直接連絡し始めたことだった
  • 午前8時30分ごろには本部オフィスが混乱状態となり、この状況は彼を知るHR責任者へ伝わった
    • HR責任者は、CFOが出勤する前に訂正メールを送らなければ大変なことになると告げた
    • 最初の訂正文には、キャンパス行政府はページ単価の課金を検討していないと書いたが、実際にはそうした議論が存在していた
    • そのため最初の訂正文をさらに訂正し、その事実に注意を向けさせない新しい訂正文を送らなければならなかった
  • プリンター表示を元に戻すスクリプトも予定より早く実行し、騒ぎは正午ごろには収まった
  • オフィスの人たちはこれを非常に面白がり、公式には不快感を示していた上司も、ある程度は面白いと思っていた

上司の休暇と事後対応

  • 事件当時、ITディレクター、つまり上司の上司は休暇中だった
  • 筆者はその次の週末と週明けの一部をスキー旅行で過ごすという戦術的ミスを犯し、ディレクターは彼が不在の間に怒りのメールを確認することになった
    • オフィスの同僚は、ディレクターが目を丸くして入ってきて、「あいつはいったい何をやったんだ」と尋ねたのを覚えている
  • 復帰後のオフィスの空気は非常に冷たかった
    • いたずらを面白がっていた副ディレクターは、止められなかったという理由で立場が悪くなった
    • 筆者自身も、そもそも騒ぎを起こしたことで大きな問題を抱えることになった
  • 彼は謝罪し、かなり長い間、異例なほど模範的な社員のように振る舞った
  • 時間が経って事件は公式には終結したが、次の業績評価にはpoor judgmentが残った
  • キャンパスではこのいたずらが、以前の「入口の警備員が1人あたり少額の入場料を取る」といういたずらより技術的に完成度が高かったと評価され、何年たっても伝説的ないたずらとして語り継がれた

1件のコメント

 
GN⁺ 2025-04-02
Hacker News のコメント
  • 高校の頃は NetWare 3.12 環境で、Guest アカウントがごく制限された権限で開放されていたのだが、なぜか Guest が NET SEND を使えた
    学区全体がインターネットを 1本の T1 回線で共有していた時代で、メールには十分だったが、Web が普及し mp3 をダウンロードし始めるとボトルネックがひどくなった
    ある日、静電気による電源トラブルの際に ADMIN が「サーバールームは UPS 電源で動作中なので、保存してログアウトしてください」というメッセージを全員に送った。数週間後、ある生徒が Guest でログインして NET SEND ALL "SERVER ROOM POWER FAILURE - 11 MIN OF BATTERY REMAIN - SAVE FILES AND LOG OFF" を送ると、1分もしないうちに全員がログアウトし、T1 回線を独占できた
    8分ほど必要なファイルを受け取った後、「電源復旧」のメッセージを送り、後でまた繰り返しても通用した
    誰もメッセージが Guest から来たことに気づかず、結局、学区の管理者はサーバールームの電源が不安定だと思い、電気業者まで呼んだ
    誰かが指摘した後は、「本当に賢いが、もうやめなさい」という程度で済み、翌日には Guest の権限が大幅に削られた

    • NetWare でその機能は SEND で、NET SEND は Microsoft ネットワーキング側だったと記憶している
      高校の NetWare ネットワークを使い、濫用していた立場からすると、SEND プログラムを逆アセンブルしてみたところ、メッセージに入るユーザー名が認証されていなかった
      IPX か NETX かのソフトウェア割り込みが文字列だけを受け取り、SEND 実行ファイルがそこにユーザー名を整形して入れる仕組みだった
      そのため、割り込みを直接呼び出す自作の SEND プログラムを作れば、"ADMIN" のような任意のユーザー名で、非常に簡単に偽装メッセージを送れた
      もちろん、これは私たちの学校で何らかのネットワークいたずらがあった、またはなかったという自白と解釈してはいけない
    • 兄がコンピューター室で作業していたとき、ほかの学生たちが大学のコンピューターで見るべきでないものを見て騒いでいたので、学科長に報告しなさいというメッセージを送ったらしい
      その学生たちはすぐに姿を消し、兄は静かに作業できた
      おそらく Windows XP の Net Send だったと思う
    • 高校生の頃、Windows の net send コマンドを見つけ、主に冗談メッセージを送り合うのに使っていた
      ある生徒がワイルドカードで全員に単に "Hi" と送ってみたところ、複数の学校を含む学区全体に広がった
      最初は誰が送ったのか分からなかったが、管理者/教師がリモートで画面を消したりロックしたりできるソフトウェアが入っていて、その生徒の画面をリモートで消したところ本人が抗議し、それで犯人だと分かった
      大きな処罰はなかったが、みんなに net send を教えてしまったことは今でも少し申し訳ない
    • 高校の頃、友人が Windows XP で任意のネットワークドライブをデスクトップにマッピングしてアクセスできることに気づいた。学区全体のユーザー名が {姓}{名の頭文字} 形式だったため、誰の「ホームフォルダー」でも読み書きできた
      友人は教師のフォルダーから試験の解答を手に入れ、私は空のフォルダー名を pornporn 2 のように作った
      友人は同じクラスの生徒に密告されて捕まり、10日間の停学処分を受けた。副校長は警察を呼ぶと言ったが、どんな犯罪に当たるのかも曖昧だった
      アカウントには実際にネットワークドライブのマッピング権限があったのに、これが本当に不正アクセスなのか。もちろん学校は「ハッキング」と呼んだ
      その後、生徒アカウントからネットワークドライブのマッピング権限は削除されたが、学区の IT 担当者は解雇されなかった。デスクトップで右クリックすればマッピングできることはみんな知っていたので、理解できない
    • 似たようなことがあった
      高校の図書館は Windows 環境で、偶然 NET SEND のようなものを見つけ、友人たちのコンピューター名を調べてメッセージを送り始めた
      厳しい司書がいてもその方法で会話し、ついには全体に迷惑をかけようと、コンピューター名を順に回って大量送信する雑なバッチファイルを作ったのだが、イテレーターの書き方を間違えて無限ループになった
      おそらく全コンピューターを再起動する必要があったはずだが、友人たち以外、私がやったとは誰も知らなかった
      あの時代と、あのひどい PC で Soldat をやっていた頃が懐かしい
  • この気の利いた小さないたずら記事の本当の価値は、いたずらした本人が社会的反応の流れを地図のように示している点にある
    誰が誰を知っているのか、ある印象が固まる前に物理的にその場にいたのか、といった小さな手がかりによって、そのいたずらが組織全体でどう受け止められるかが変わる
    同じ出来事について、ある人は腹を抱えて笑い、ある人は一線を越えたと感じ、それぞれが自分の反応をあまりにも当然のものだと思う
    いたずらを仕掛けた側にいるからこそ、それらの反応の偶然性と非合理性がリアルタイムで見える
    以前、哲学がギリシャで生まれた理由は、都市国家間で交易していた商人たちが、「常識」のように思われていたものが実は地域や文化による慣習なのだと見たからだ、という推測を聞いたことがある
    いたずら者も、それぞれがその出来事をどう経験したかによって反応が分かれるのを見ながら、そうした偶然性を目撃することになる

    • 実際に印刷課金プランの導入を検討中で、それが彼らの望んでいた告知方法ではなかったことが、問題の一部だったように思う
    • この解釈は少し大げさな気もする
      気の利いた小さないたずらと、新しい印刷ポリシーを知らせる無味乾燥な全社メールとの違いが、どれほど大きいのかは疑問だ
      一部の人が「腹を抱えて笑った」という反応と、別の一部の人の苛立ちとの間の傾きに多くがかかっているが、自己申告なので信じにくいし、どんな文脈ならこれがそこまで面白いのかよく分からない
      共感についての単純な寓話としては価値があるし、事後ではなく事前に共感すべきだという点も正しい
      何度読んでも、冗談であるという合図や追加のユーモアの層があるメールには見えず、単に清掃員が今後トイレには鍵が必要になるとキャンパス全体にメールしているのと似て見える
      ただ、IT職員が印刷課金を告知するよりは、トイレの鍵のほうがはるかにもっともらしくないのは確かだ
    • トリックスター元型は、知恵と混沌を同時にもたらす古い元型である
      ただし歴史的には、Plato以前まで、哲学を含むほぼすべての知識は神的な源から授かったものとして理解されていたと認識している
      人間の理性を通じて知識を得るという考えは、Socrates式の対話を通じて定着した
      だとすればPlatoも本質的にはいたずら者であり、私たちの知る西洋文明は彼の欺きの結果だとも言える
    • こういういたずらをする人たちは、自分が受けた肯定的な反応をかなり過大評価しているように思う
      記事では、不安になって電話してきた数人が状況を理解して大笑いし、自分をいたずら好きだと知っている人たちは日付を見て称賛の返信を送ったというが、実際に大笑いした人はほとんどいなかったのではないか
      たいていは目をぐるりとさせながら礼儀で笑った可能性が高く、彼が「実用的ないたずら者」という自我にどれほどしがみついているかを知っている人たちは、会話を早く終わらせようとして調子を合わせて笑ったのだと思う
  • 1997〜98年、最初の職場で保険会社の技術サポートをしていて、メールにはLotus Notesを使っていた
    Notesはメールだけでなく、フォーム、プログラミング言語、ワークフローまで備えたシステムだったので、ユーザーリクエスト用のフォームを作りながらプログラマー権限を持っていた
    当時は月に1回くらい、金曜日にジーンズを履いてよいカジュアル服装の日があり、部門管理者がIT/エンジニアリング全体に案内メールを送っていた
    ある日、そのメールをコピーして「ズボンなし金曜日」を告知するいたずらメールに書き換え、下着は着用しなければならないと明記した
    Notesの権限のおかげで送信者を部門管理者のように偽装できたのだが、本来は技術サポートチームの15人ほどにだけ送るつもりが、ミスなのか偶然なのか、IT/エンジニアリング全体の200〜300人に送ってしまった
    すぐに上司の電話が鳴りっぱなしになり、すぐ行って自分がやったことだと伝えた
    解雇はされなかったが謝罪メールを書かなければならず、後で多くの人が、部門で見た中で一番面白かったと言ってくれた
    その後まもなく、より挑戦的なプログラミングの仕事に移り、退屈してこんな馬鹿げたいたずらをする時間がなくなったという意味でも良い変化だった

    • ここで一番関係があるのは、仕事が十分に難しくなかったことだと思う
      退屈な人はくだらないいたずらをし、挑戦の不足は退屈につながる
  • 一番面白かったのは、撤回メールも間違っていたというくだりだった
    撤回文に「キャンパス管理部は1枚あたりの課金を検討していない」と書いたが、実際には検討中だったため、その事実に触れない新たな撤回文を再度送らなければならなかったところが圧巻だ

    • おそらく実際には1枚あたりもっと高い料金を考えていて、5セントでは安すぎたのかもしれない
    • だからむしろ、さらにもっともらしくなった
  • 高校のとき、すべてのプリンターの準備完了メッセージを Insert Coin に変えた
    スクリプトのパラメータをきちんと確認しておらず、ネットワーク構成のせいで学区全体に配布されてしまった
    驚いたことに、これがネットワーク利用禁止の理由ではなかった

    • じゃあ理由は何だったの?
  • メールなしでプリンターのメッセージだけを変えていたら、冗談としてはもっと面白かったと思う
    ただ、人々が実際にプリンターに硬貨を押し込むのではないかと心配になっただろう

    • 話の間ずっと、そういうことが起きると思っていた
      人々がプリンターに硬貨を入れようとして壊し、修理費が高くつき、そのせいで管理部が怒る展開を予想していた
  • いたずらは本当にたくさんやったし、必ずしも4月1日まで待っていたわけでもなかった。
    最初は高校時代に Apple II+ 用の偽DOSを作ったこと。
    コマンドを受け取って実行するが、たまに皮肉めいたメッセージを返すもので、先生は面白がってくれなかった。
    2つ目は、レーザープリンターが数千ドルもしていた1970年代末〜1980年代初頭に、コンピューター雑誌のCGI画像を見つけてドットマトリクス用の連続用紙に Xerox でコピーし、友人たちに自分がレーザープリンターを持っていると信じ込ませたこと。
    本物のレーザープリンターがどう動くのか誰も知らなかったので、両側の穴がかえって本物らしく見えた。
    3つ目は、両親が当座預金口座を変えたときに余った小切手帳があり、父にいたずらをしたいと言ったら600ドルの小切手を書いてくれたこと。
    朝、クラスメートに放課後コンピューターを買いに行くと見せておき、学校が終わってその友人が来たら、突然コンピューターは要らなくなったと言って目の前で破り捨てた。友人は固まっていた。
    4つ目は、近所の図書館に15分25セントのコイン式テレビ画面付き Atari 400 があったのだが、画面なしで簡単な BASIC プログラムを書き、数分ごとにランダムにビープ音を鳴らすようにして実行し、その場を離れたこと。

    • 15年ほど前、ThinkGeek がこれを Annoy-a-Tron という製品にした。
      コイン電池で数週間動く小さな磁石付き回路基板で、うまく隠しておけば近くで長時間過ごす人の正気を分解できた。
      今では複数のメーカーからもっと精巧なバージョンも出ているが、リンクは貼らない。
    • 1980年代末に大企業へ就職した後も、会社でさらにいたずらをした。
      DOS時代、標準的なオフィス用コンピューターが、小さな内蔵スピーカーをプログラムしてビープ音を鳴らせる IBM AT だったころ、いくつかのワークステーションの autoexec.bat に、映画 Brazil のメロディーの最初の8音を速く小さな音量で再生するよう仕込んだ。
      その映画が公開されたばかりの頃で、会社生活との類似性を風刺するのにふさわしい曲だと思った。
      また、年に一度くらい社内食堂が青いカード紙のアンケートを各テーブルに置くと、友人と同じ色のカード紙を手に入れ、「レジ係の温度はいかがでしたか?」「食べ物は親切でしたか?」のように質問を少し変えた複製を作り、全テーブルに配った。
      何が起きたのかは知らないが、管理側は喜ばなかっただろう。
      別の日には、友人Bが出口直前のレジ前にある非常口を見つけ、支払いをせずにエレベーターで抜け出した。そこで私とCは、社内の全デスクに配られる紙のセキュリティ通知の様式をまね、Bの警察のモンタージュ写真風スケッチを入れて、「表示のないドアから食堂を抜け出した危険な容疑者に注意せよ」という全社通知を作り、全員の机に置いておいた。
  • 上層部が実際に有料印刷システムの導入を準備している時期と重なっていなければ、このいたずらはもっと好意的に受け止められたのかもしれないとも思う。
    すでに計画していた不人気な変更に注目が集まるのを、彼らが歓迎したはずはない。

  • 私が聞いた中で最高のいたずらは、友人の Bill March に起きた出来事だ。
    彼は会社に入ってまだ比較的新しく、4月1日が給料日だったのだが、オフィスに来ると Bill April 宛ての小切手を受け取った。
    面白いのは、それが実はエイプリルフールのいたずらではなかったことだ。