Scribble at 2026-05-04 17:48:42 Last modified: 2026-05-05 08:43:13
隠蔽によって秘密を守るというポリシーは、一部の(或る意味では頭の硬い)情報セキュリティの専門家のあいだでは廃れた考え方だと思われていて、彼らの書いたものを妄信しがちな人々も同じようなことを言うことがある。しかし、これも情報セキュリティの(僕らのような)実務家や専門家であれば知っているように、情報セキュリティやインテリジェンスや犯罪や軍事においては、一般論をむやみに信じ込むことほど危険な態度はない。正直、ビジネス界隈でいまごろ「ゼロ・トラスト」などと言われたりするのが滑稽なくらい、われわれ情報セキュリティの実務家にとっては、セキュリティにおいて確実なアプローチや原則などないという信念や基本的なスタンス、あるいは戒めほど重要なものはないのである。
結局、この手のマスコミ的な素人の短絡を話題にすること自体が、僕らのようなレベルの実務家にとってはアホらしいとしか言いようがないのだが、ひとまず簡単におさらいしよう。当サイトで掲載している「WordPress のセキュリティ対策」という論説でも、たとえば WordPress のデータベースに設定するテーブルの接頭辞を "wp_" という文字列から任意の文字列へ変更するのが望ましいといった話題でご紹介しているように、隠蔽によって実装するセキュリティには一定の目的と範囲において効果が期待できる。特に、出来合いのツールを使ってクラウド経由でボットによる攻撃を行うような素人レベルの攻撃者から簡単にオンラインの資産を守るには、この程度の(そして未熟な連中が「時代遅れのセキュリティ」と呼ぶ)施策でも絶大な効果があるものだ。なにせ、ツールを使っていたずらするだけの無能どもを相手にするのだから。逆に言えば、いまやこのていどの対策をやっていなければ、ツールを使ってイージーに手当たり次第に無差別かつ大規模な攻撃をしかけるイタズラ小僧にすら負けるのだ。
また、ブログ記事の著者が業界している「難読化(obfuscation)」にも一定の効果がある。たとえば、僕は15年くらい前に PHP のウェブ・アプリケーション・フレームワークの一つであった CodeIgniter のユーザとして、数々の実務でウェブ・サーバへウェブ・アプリケーションを実装してきた。いまだから言っても問題ないと思うが、JR 西日本コミュニケーションズの案件で開発した、「さよなら0系新幹線キャンペーン」で公開したブログパーツの管理システムは、CodeIgniter を利用したのである。そして、僕は当時から、フレームワークの配置先が公開ディレクトリ(DocumentRoot 配下)であることに疑問をもっていて、ディフォールトのディレクトリ名では何かの問題がウェブ・サーバで起きたときに、ブラウザでシステムにアクセスできてしまうことを心配して、このディレクトリ名を必ず32桁のランダムな文字列へ変更するようになった(ちなみに、ディレクトリを上の階層へ移して、フロント・コントローラからのアクセスをエイリアスで解決すればいいと思うかもしれないが、当時のフレームワークの多くはそういうことを想定せずに開発されていたので、得てしてパスを DocumentRoot からの相対パスとしてハード・コーディングしているソースが混在していたり、面倒な問題が起きることがあったのだ)。ともあれ、32桁のディレクトリ名を推測できるリソースなんて、15年前にはコストがかかりすぎて現実的には攻撃しえないであろう。
このように、もちろん隠蔽や難読化だけでセキュリティ対策になるなどという幼稚な思考は慎むべきではあるが(当サイトで公開している「シュナイアーの法則」というページでも、秘匿によるセキュリティでは不十分であるという議論はしている)、かといって隠蔽や難読化が無条件に役立たずであるなどと、われわれに比べてはるかに経験や知識や技術もない小僧が、セキュリティ業界の有名人が書いたエッセイを幾つか読んだていどで気軽に Qiita や note などのカスみたいなブログ記事で書くものではないのだ。