悪いやつほどよくググる

メタメタな時代の曖昧な私の文学(第15話)

高橋文樹

エセー

7,108文字

「泥棒は事前に必ず下見する」という七五調の看板はあなたの町にあるだろうか? 私の住む町にはある。考えてみればおかしな話だ。事前準備は美徳であるはずなのに、泥棒という悪人がそれを厭わない。あなたは悪人が逆説的に真面目だと思うだろうか。それとも、制度的な欠陥だと思うだろうか。

私の祖父は土地持ちだった。私が生まれ育ったのはそんな祖父が所有していたアパートの一室で、まだ何者でもなかった父母は祖父母のすねをかじる形で私と姉を育てたと、いうわけだ。それからずいぶんと時が経ち、私は千葉に帰ってくることになったのだが、一年ほどそのアパートを借りた。一部屋は住まいとして、もう一部屋は私の仕事場としてである。築50年の古い鉄筋アパートで借り手がつかなかったことも一因だったが、人は世代を経てもあまり進歩しないだけとも言えよう。

しばらくして、私と妻は子育てのために私の実家へ移り、住まいとしていた3号室を引き払った。破滅派のオフィスを都内に構えてからも、仕事場だった2号室はそのまま残しておいた。とてもではないが、数千冊ある本が入りきらなかったのだ。

私は週に一度ほどアパートに郵便物を取りに行った。その際、まだ借りている2号室はもちろんのこと、かつての住まいであった3号室の郵便物も回収することが多かった。ポスティングで配られるチラシが郵便受けから溢れ返っているのは見栄えがしないし、稀に郵便物が届くこともあったからだ。

ある日、私は郵便局の不在配達票を見つけた。名前を見ると、Kと書いてある。これまでも郵便局員が間違えて荷物を届けることはあったから(一番ひどかったのはAmazonに返品したBluetoothドングルが戻ってきたときだ)、おそらく手違いだろうと郵便局に電話をかけた。電話越しに局員は謝罪をし、不在配達票を捨ててしまって良いといった。私はそのとおりにした。

それから二週間後、ふたたびアパートにK宛の不在配達票が届いていた。私はふと思い直し、郵便受けをよく見た。すると、白い名札にKと書いてある。どうやら、3号室に入居者が入ったのだ。私は人がいないままだと勘違いして、不在配達票を持って帰ってしまったというわけである。悪いことをしたと思いつつも、私は家に帰って母にそのことを伝えた。やっと店子が見つかってよかったね、と。母は店子が入ったら絶対に管理会社から連絡があるはずなのだけれど、と訝りながら、翌日尋ねてみるつもりらしかった。

翌日、夜遅く仕事から帰った私に、母は少し興奮した様子で伝えた。要点はこうだ。

  • 店子は入っていない。3号室は空室のままで、Kという入居者もいない。
  • 長い間空室だった3号室は、受け取りに住所が必要なものを不正に受け取るために利用された。
  • 不動産賃貸業界ではこうした事例が稀に起きるようで、管理会社は慣れた様子だった。

なるほど、と私は思った。

郵送で受け取ったことで存在確認を行うような重要書類があったとしよう。たとえば、クレジットカードがそうだとする。カードの申請には偽造した身分証明書と配達先を記しておく。クレジットカードが届けられたら、それはおそらく配達証明郵便などで送られるだろうから、不在配達票が入るのを待つ。首尾よく不在配達票を受け取れたら、郵便局に取りに行けば良いわけだ。仮に不正が発覚したとしても、そこに住んでいるわけではないから、足はつかない。よく考えたものである。実際にクレジットカードでそういうことができるのかはわからないが、なにかしら犯罪などに利用する価値のあるものを手に入れるため考えられた手法だろう。

悪い人たちがやってきてみんなを〇〇した

さて、あなたはこのエピソードを聞いて、どう思うだろうか。正直なところ、私は感心した。悪事を働く人間はかくも深謀遠慮が働くのかと。だが、すぐさま私は思い直した。そもそも、そういった悪事を働く人間は私のように善良な小市民とは異なるゲームをプレイしているのだ。

実は私が生業としているWebサイト制作の現場でもこうした悪事は沢山ある。その実例を幾つか紹介しよう。

XSS(クロスサイトスクリプティング)

私たちがWebサイトを訪問したときに目にする画面は多くの場合HTMLと呼ばれる文書から成り立っている。その多くは文書をマークアップする(これは見出し、これはリンクと区別する記法で書く)だけなのだが、中にはscriptタグといって、そこに書かれたプログラムを実行するという特殊なものがある。

このJavascriptはWebサイトの動的な仕組みを支えるための重要な言語なのだが、Facebookやtwitterのようにユーザーが自由に投稿できるサイトにおいて、Javascriptを入力できてしまうと非常にまずいことになる。

たとえば、破滅派のようにログインが可能なサイトでは、あなたのブラウザのCookieと呼ばれる記憶領域を使って「この人はログイン済み」という印をつけている。悪意のあるユーザーは、あなたのサイトでJavascriptが投稿できることを知った場合、たとえばそのCookieを盗み取ってメールで送信するようなスクリプトを仕込むだろう。盗み取ることができれば、あなたになりすましてログインすることが可能だ。

CSRF(クロスサイトリクエストフォージェリ)

WebサイトにはRESTという考え方があり、URLが一意の処理を表すようにプログラムを組むことが多い。たとえば、https://hametuha.com/post/new であれば「新規投稿をしようとしている」と判断したり、 https://hametuha.com/post/delete/2 であれば「ID2の投稿を削除しようとしている」という具合である。

普通のユーザーはサイト上で有効なURLをすべて調べ、それを直に打ち込むということをしない。リンクやボタンを押して遷移していくだけだ。だが、悪人はそうではない。たとえば、私の投稿を削除するためのURLが https://hametuha.com/post/delete/5 であることがわかってしまったとしよう。

その悪人は私をそのURLへと移動させる。リンクを偽装したメールを送るなどの方法がわかりやすいだろう。私がよく確認しないでそのURLへ移動した場合、Webサイトは「よし、ID5を削除しよう」と判断する。なぜなら、本人がそのように要求しているからである。私は投稿を削除などしたくないのだが、結果的に投稿は削除されてしまう。

悪事の報酬

さて、上にあげた2つは「Webサイトの脆弱性」と呼ばれるもので、主にセキュリティ上の不備をついたものである。こうした悪事はほとんどの場合、うまくいかない。かりにXSSを仕込んだとしても、Javascriptで取得できるような情報で有用なものは少ない。だが、重要なのはたまに成功するという点だ。

この僅かな成功率は悪事を働く人間にとって十分なモチベーションになる。スパムメールがそうなのだが、成功率が0.0001%なのであれば、100万回試せばいいだけだ。そして、インターネットにおいてその反復はあまりコストがかからない。

その結果、Webサイトを制作する仕事をする場合、こうした悪意のある攻撃を避けるために様々なセキュリティ対策を施すのが普通だ。当然、なんらかのコストがかかっている。理解のないクライアントの場合は報酬をもらえないかもしれないが、全体として見れば時間などのコストが発生していることに変わりない。

言い換えると、私たちの利用するWebを構築するためのコストは、一部の悪意ある人々によって少し釣り上げられていると言える。セキュリティ専門家にとっては飯のタネであり、別の需要を生んでいると捉えることもできるが、世界全体で見た場合、マイナスの方が大きいのではないだろうか。

なぜ「よくないね」が存在しないのか

Facebookには「いいね」ボタンという機能があるが、「よくないね」ボタンはない。YoutubeやStackOverflow(海外のQ&Aサイト)には「よくないね」ボタンがある。Facebookの創業者であるマーク・ザッカーバーグはこの違いについて、明確にこう述べている。

「それは間違ってる」と言いたいがために、よくないねボタンが欲しいという人も何人かいた。僕たちはそれが世界をよりよくするとは思わない。

僕が価値があると思うのは、人々が表現したい感情は他にもっとあるということだ。

BBC.com

実際にFacebookはこの主張を裏付ける心理実験を行っている。この実験は秘密裏に行われたため、批判を受けることとなるのだが、結果としては「肯定的な投稿は肯定的な投稿を生み、否定的な投稿は否定的な投稿を生む」と結論づけられた。これはFacebookが「よくないね」ボタンを作らないという態度の根拠を科学的に裏付けるものでもあった。

心理実験が無断で行われたことは批判の対象とすべきだろうが、私はこうした「肯定的な方向へコントロールしようとするFacebookの意思」については、わりと同情的だ。というのも、Webは簡単に悪意が満ちるからである。悪貨は良貨を駆逐するのだ。

私はよく、クライアントから「口コミ機能をつけてほしい」ということを依頼される。その機能自体をつけることは容易なのだが、私は多くの場合断ることにしている。というのは、口コミが集まる場合、多くはネガティブな感情だからだ。口コミ機能を搭載する場合、そのネガティブな感情をコントロールするという技術的・心理的に高度なミッションが発生するからだ。

たとえば、私が破滅派に投稿した「ロックスターの牛乳、写真家の散財、人々の怒り」というエセーはある読者の怒りを買った。このため、レビューには「作者を殴りたい」という感想が多くつき、若干粘着質なコメントがついた。このコメント投稿者はおそらく以前からの破滅派の読者で、私に罵声を浴びせたいがためにわざわざアカウントを新規に取得したのだ。破滅派では個人情報を暴露するようなコメントがあったという経緯から、取得したばかりのアカウント(つまり、一見さん)はコメントがすぐに反映されない仕組みにしているのだが、この投稿者はそのことすら怒りの対象になったようで、ジョージ・オーウェルまで持ち出して私をビッグ・ブラザーだと批判した。この記事のテーマが「怒り」であったことから、私にはこの投稿者が典型的な「ネットで怒り狂う人」に見えたのだが、その人からすると私の方が「インターネット気違い」だったようである。

考えてみてほしい。なんらかの情報を集めた口コミサイトを作ったとしよう。たとえば、地域の喫茶店レビューサイト。まだできたばかりで口コミは一件もない。投稿にはメールアドレスが必要で、パスワードやニックネームを入れて登録する必要がある。要するに、少しめんどくさい。では、そんなめんどくささを乗り越えてはじめてついたコメントはなんだろうか。それはおそらく、喫茶店への罵倒だろう。なにか気に食わないことがあったのだ。その人はどうしても一言いってやりたくて、わざわざアカウントを取得し、長文をしたためるためにキーボードを叩きまくるのだ。

たとえば食べログのように成功を収めた料理レビューサイトでは、こうした口コミ機能へ感嘆すべき技術的努力を支払っている。罵詈雑言のために新規アカウントを取得するような人の意見はそもそも反映されないし、ある程度以上悪い評価はそもそも表示しない。レビュアーは良質なレビューを重ねることで満足感を得られるような仕組みにしているし、そうしたすべてが統計的な裏付けを持つように苦心しているはずだ。私も破滅派にそれぐらい良質なレビュー機能があったらいいと思うが、なにせ私一人で作っているのだ。そうそううまくはいかない。それに食べログに関して言えば、口コミサイトの運営者が評価対象とは異なるのが重要だ。食べログはレストランを経営していない。

一度でもWebサイトを運営すればすぐにわかる。ほんとうに負の感情は強いのだ。お問い合わせフォームに寄せられる99%は不平不満だ。「いつも楽しく使わせてもらっています」などというお問い合わせが来ることはまずない。ほんとうにない。

正直に言わせてもらおう。私もそうだ。不平不満は口にするが、感謝はあまり口にしない。おっと、あなたもそうだろう。そもそも人類はそういうものだ。口ばかり達者になって、その口で悪口ばかりを言い募る生き物なのだ。私たちが鳥のように歌うことは稀だ。

ハッカーはクラッカーに勝てるだろうか

さて、話を戻そう。Webでは負の感情の強さが可視化されやすい。Googleの社是が”Don’t be evil”であることは前に述べたが、これは厨二病でそう言っているのではない。ほんとうに、インターネットは悪意で満ちやすいのだ。

プログラミングの世界では、問題をかっこよく解決する人を「ハッカー」と呼ぶ。語源はhack、つまり「道を切り開く」「うまくやりのける」という意味だ。たとえば、あるソフトウェアが深刻な機能不全を抱えていたとする。起動が死ぬほど遅いとか、どう考えても必要なはずの機能がないとか、そういうことだ。そこであるプログラマーがその問題を解決したとしよう。彼あるいは彼女のとった手法はエレガントで、簡潔で、ありきたりな機能を2,3組み合わせただけだった。そう、いままでだってやろうと思えばできたのに、誰も気づかなかったのだ。このプログラマーは敬意を込めて「ハッカー」と呼ばれることだろう。

だが、あなたがもしプログラマーでなければ、「ハッカー」という言葉のイメージは少し違うだろう。おそらく、ハッカーは『ターミネーター2』におけるジョン・コナーのように、銀行のATMにあやしげなカードを差し込んでパソコンとつなぎ、黒背景に緑文字の画面でパスワード解析を試みているはずだ。つまり、その能力を使ってなにがしかのズルをする人というイメージである。プログラマーはこうしたウィルス作者のような人々を「クラッカー」という名前で呼ぶ。

私は前回書いた記事で「インターネットをハックしていかなければならない」ということを書いたが、はて、そんなことはできるのだろうか。懸念点は2つだ。

まず、1つ目。ほんとうに善良さは悪の抜け目なさに勝てるのだろうか

私と母が犯罪者たちによっていいようにアパートを利用されたように、私や母やあなたのような善良な一市民はそれほど「抜け道」について考えない。私も小説やWebサイトなら「なにかうまい方法はないか」と考えもするが、母が管理するアパートについては生まれてこのかた真剣に考えたことがない。アパートの経営にまつわる「脆弱性」を考え抜き、その可能性をすべて潰しておくような知的雪かき人生を私は送りたくない。

私たちの無警戒な日常は、果たして悪人の抜け目なさに勝てるのだろうか。あなたが一生懸命考えたハッキングは、とうに時代遅れとなったクラッキングだった、ということは起きないのだろうか。

そして、2つ目。ハッカーを目指したはずのあなたがクラッカーになることはないだろうか

そもそも「うまくやってやろう」という思考は脱法的である。ルールの不備をつく、つまり、制度の脆弱性をつくという考え方自体が、容易にハッカーをクラッカーにしうるのだ。

あなたが愚直にテキストを紡ぐ文士だとしよう。あなたはこれまでずっと真面目にテキストの質を高めてきた。だが、私に「ハックしろ」と言われて、幾つかの方法を考えた。そして、その結果、いままで懸命に書いてきた文語体をやめ、口語体にすることにした。どう考えてもその方が可読性も高いし、検索にひっかかりやすいからだ。続いて、あなたはGoogleキーワード検索ツールで、検索ボリュームの多い単語について調べ始める。その方がアクセスが増えるからだ。あなたは女性で、いままでは飼っている猫の写真をプロフィール画像にしていたのだが、少しキメ顔で胸元が写り込んだものに変える。ただし、歯茎が前に出ており、それほど美人ではないので、マスクをしている。投稿を公開するたびにはてなブックマークで自分の記事をブックマークし(これはセルクマと呼ばれる)、それを競合の少ない「生活」カテゴリへと移動するかもしれない。テキストを嘘やあざとさで塗り固めることが悪でないとあなたは嘯くだろう。しかし、私は騙されない。悪が自らを悪と自称することはないからだ。

悪は善よりも強く、善は悪になりやすい。世界は壊れてしまったのだろうか。それとも、世界はもともとその程度には残酷だったのだろうか。残念ながら、その事実を認めたとしても、『進撃の巨人』におけるミカサ・アッカーマンのように、その瞬間から自分のすべてをコントロールできるようにはならない。私やあなたは相変わらず弱いままだ。

とはいえ、なにもできないということはないはずだ。次回以降、「悪にならずにハックする方法はないのか」という倫理的な問題と、そもそも倫理的な問題を無効にする超越的な手法について考えてみたい。それでは、プログラマーが選ぶ名言10選に選ばれたこんな言葉で締めくくるとしよう。

今日のプログラミングとは、バカでも使えるより強大なプログラムを作ろうと奮闘するソフトウェアエンジニアたちと、より強大なバカを生み出そうとする世界との競争である。いまのところ、世界が優勢である。
リッチ・クック(”20 Kick-ass programming quotes“より)

2015年3月30日公開

作品集『メタメタな時代の曖昧な私の文学』第15話 (全21話)

© 2015 高橋文樹

読み終えたらレビューしてください

リストに追加する

リスト機能とは、気になる作品をまとめておける機能です。公開と非公開が選べますので、 短編集として公開したり、お気に入りのリストとしてこっそり楽しむこともできます。


リスト機能を利用するにはログインする必要があります。

あなたの反応

ログインすると、星の数によって冷酷な評価を突きつけることができます。

作品の知性

作品の完成度

作品の構成

作品から得た感情

作品を読んで

作者の印象


5.0 (1件の評価)

破滅チャートとは

この機能は廃止予定です。

タグ

この投稿にはまだ誰もタグをつけていません。ぜひ最初のタグをつけてください!

タグをつける

タグ付け機能は会員限定です。ログインまたは新規登録をしてください。

作者がつけたタグ

テクノロジー

"悪いやつほどよくググる"へのコメント 0

コメントがありません。 寂しいので、ぜひコメントを残してください。

コメントを残してください

コメントをするにはユーザー登録をした上で ログインする必要があります。

作品に戻る