期末の役員会議や予算策定の席で、経営陣がエンジニアや情シス担当の顔を覗き込みながら、悪びれもせずにこう言い放つ瞬間がある。
「今回のリプレイスで数千万円も投資するんだからさ。このシステム、当然あと5年は何もしなくても持ちますよね?」
この言葉を耳にするたび、俺様は背筋に冷や汗が走ると同時に、深い絶望感に襲われる。
俺様自身、実際に会社経営に携わり、自ら財布を握ってキャッシュフローを睨み倒してきた人間だ。だから、経営者が余計な経費を極限まで削りたいという切実な気持ち自体は、痛いほど理解できる。一度投資したシステムなら、しゃぶり尽くすように何年も使い倒したいのが経営者の本音だろう。
だが、はっきり言っておく。
「動いているシステムに手を加える必要はない」「あと5年はそのまま放置できる」という発想は、ITの世界においては単なる節約ではない。
それは、ブレーキのオイルが抜け落ちた大型ダンプカーを「まだ走れるから」と満載の荷物を積んで高速道路へ突撃させる、完全な自殺行為だ。
昨今、ニュースの紙面を毎日のように賑わせている「大手企業の個人情報流出まつり」や「ランサムウェアによる事業停止」。
あれらを引き起こしている真犯人は、凄腕の天才ハッカーなどではない。
「あと5年は持つよね?」と嘯き、技術の賞味期限から目を背け続けた経営陣のドケチ根性と、それを経営の言葉で説得できなかった開発側の怠慢の合作なのだ。
なぜ経営陣はシステムの寿命を見誤るのか。そして現場はどう戦うべきなのか。
経営と開発、両方の修羅場をくぐってきた俺様が、その脳内構造を徹底的に暴いてやる。
経営者の「一度作ったら永遠に動く」という危険な固定資産脳
なぜ経営陣は、平気な顔で「5年は持つ」などと言い出すのか。
その最大の原因は、彼らの脳内にある「固定資産のメンタルモデル」にある。
世の経営者や財務部門の人間は、システムをオフィスビルや営業用車両、工場の旋盤機械と同じカテゴリとして認識している。
ビルは一度建てれば、外壁の定期清掃程度で数十年は倒れない。工場の機械も、油を差していれば耐用年数である5年や10年は動き続ける。
だから彼らは、システム開発の発注を「建物の建設」と同じ感覚で捉えてしまうのだ。
「数千万円かけて頑丈な家を建てたんだから、5年や10年で住めなくなるわけがないだろう」と。
だが、ソフトウェアの本質は「建造物」ではない。
ソフトウェアは、毎日刻一刻と地面が激しく揺れ動き、地割れが発生し、周囲の気圧や酸素濃度が激変し続ける「流動的な大地の上に浮かぶ船」なのだ。
システム単体のコードが1行も変わっていなくても、そのシステムを取り巻く外部環境――ブラウザの仕様、スマートフォンのOS、ネットワークの暗号化プロトコル、そして世界中の攻撃者が日々開発するサイバー攻撃の手法――は、24時間365日、猛スピードで更新され続けている。
何もしないということは、現状維持ではない。
激流の中で碇を下ろさずに放置され、猛スピードで沈没へと流されている状態そのものなのだ。
この根本的な「静態と動態の認識ギャップ」こそが、経営陣の脳内を蝕む致命的な病巣である。
言語は2年、OSは5年で死ぬ:容赦なく進むEOSL(サポート終了)の現実
感情論ではなく、動かしがたい技術的ファクトを突きつけてやろう。
現代のWebシステムや業務アプリケーションを支える技術スタックのライフサイクルを直視しろ。
まず、プログラミング言語やフレームワークの寿命だ。
PHP、Python、Ruby、Node.jsといった現代の主要言語やそのフレームワークは、メジャーバージョンのリリースからわずか2年から3年程度で公式のセキュリティサポート(EOSL:End of Service Life)を迎えるのが世界標準だ。
3年前に書いた最新のプログラムは、今や公式からの脆弱性パッチが一切供給されない「無防備な遺産」へと成り果てる。
ミドルウェアやライブラリに至っては、半年から1年スパンで仕様変更や脆弱性フィックスが怒涛のように繰り返されている。
そして、最も長いサポート期間を誇るLinuxなどのサーバーOSですら、メインストリームのサポート期間は最長で5年程度だ。
この事実を突きつけられたとき、経営陣の言う「5年」がいかに狂気的な数字であるかがわかるだろう。
開発に1年かけ、リリースした瞬間から起算して「あと5年放置する」ということは、OSもミドルウェアも開発言語もすべてEOSLを迎え、既知の脆弱性が世界中に公開されてハッカーたちの格好の標的になっている状態で、平気な顔をして2〜3年間も本番稼働させ続けるということを意味する。
「何も壊れていないから動かす」のではない。
「防壁がすべて風化して剥がれ落ち、全裸で戦場のど真ん中に立たされているのに、まだ銃弾が当たっていないから大丈夫だと思い込んでいる」だけなのだ。
「社内限定」「WAFがあるから」という寝言:某予約システムのPHP7放置と情報漏洩の末路
こうしたEOSLの現実を突きつけると、ITに疎い経営陣や、それに忖度した現場のプロパー社員は、必ずと言っていいほど聞きかじった知識で次の寝言を繰り出し始める。
「いや、外部公開サーバーにはWAF(Web Application Firewall)を導入してるんだから、中が古くても防げるでしょ」
「社内向けや特定の予約窓口だから、そこまで本格的な攻撃なんて来ないはずですよ」
はっきり言おう。この手の言い訳を吐く連中こそが、昨今の情報漏洩事件の主役たちだ。
実際、俺様はある企業の予約システムに外部アドバイザーとして入った際、目を疑うような技術スタックを目撃したことがある。
動いていたのは、とっくにセキュリティサポートの切れた「PHP 7系」、これまた化石のような古いバージョンのフレームワーク「Symfony」、そしてDBだけはなぜか新しめの「MySQL 8.0」という、歪極まりないアンバランスな構成だった。
顧客の個人情報や予約データを大量に抱え込んでいるWebシステムであるにもかかわらず、心臓部の言語とフレームワークが完全に腐敗したまま放置されていたのだ。
俺様はその場にいたプロパーの担当者に即座に釘を刺した。
「PHP 7もそのバージョンのSymfonyも、とっくに公式サポートが切れてるぞ。既知の脆弱性を突かれたらWAFなんぞあっさりバイパスされて終わりだ。今すぐ予算を取ってバージョンアッププロジェクトを組め。これ、このまま放置したら絶対に死ぬぞ」
だが、返ってきたのは情けない苦笑いだった。
「いやぁ、上層部が『今動いてるシステムに金は出せない、WAFも通してるから大丈夫だ』って言ってて予算が下りないんですよ……」
結果、どうなったか。
その忠告からしばらくして、その企業は見事にサイバー攻撃を受け、顧客の個人情報が外部へ大規模に流出する大事故をやらかした。
ニュースサイトに企業の謝罪文が掲載され、担当役員が頭を下げている姿を見ながら、俺様は「ほら見ろ、言わんこっちゃない」と呆れ果てるしかなかった。
WAFはあくまで、既知の攻撃パターンを外側で弾く「一時的な防護ネット」に過ぎず、背後にあるアプリケーションやフレームワークの根本的な脆弱性を消し去ってくれるわけではない。
侵入者にとっては、既知の脆弱性が放置されたPHP 7など、鍵のかかっていない通用門と同じだ。
「動いているから」「金がないから」とメンテナンスをケチり、パッチ当てをサボり続けた企業の成れの果てが、この無様な情報流出まつりなのだ。
開発側も被害者面するな:経営陣を動かす「技術負債の翻訳力」
ここまで経営陣や事なかれ主義のプロパーを糾弾してきたが、では現場の開発者や情シスは完全に無実なのかといえば、決してそんなことはない。
居酒屋のカウンターで管を巻き、「うちの経営陣はITをわかっていない」「ケチだから予算を出してくれない」と被害者面しているエンジニアども、お前らにも重い責任がある。
経営陣は技術のプロではない。
彼らに向かって「PHP 7がEOSLを迎えて脆弱性があるので、数千万円かけてリプレイスが必要です」とだけ言ったところで、彼らに響くわけがないのだ。
経営者から見れば、「今問題なく動いている画面の裏側を、エンジニアが自己満足のために最新のおもちゃへ取り替えようとしている」ようにしか見えないからだ。
開発側に決定的に欠けているのは、「技術負債の経営言語への翻訳力」だ。
「技術が古いから危ない」ではない。
「この言語とフレームワークのサポートが切れた状態で情報漏洩インシデントが発生した場合、想定される損害賠償額とフォレンジック調査費用で約2億円の特別損失が発生します」
「サプライチェーン攻撃の踏み台にされた場合、主要取引先からの取引停止処分を受け、年間売上の30%が消失するリスクがあります」
「今、毎年数百万円の予防保全予算を組んで計画的にアップデートするのか、それとも数年後に数億円の事故対応費用と社会的信用の失墜を支払うのか、経営としてどちらを選択しますか?」
このように、リスクを金額、法的責任、そして事業継続性の言葉に翻訳して突きつけること。
それこそが、プロの技術者が果たすべき真の説明責任だ。
システムとは、作って終わりではない。
生み落とされたその瞬間から劣化が始まり、常にメンテナンスという名の栄養を注ぎ込み続けなければ死に至る、極めて手のかかる生き物なのだ。
「あと5年持ちますよね?」という愚問に対して、毅然とした論理と数字で「持ちません」と言い切れる開発者になれ。
その健全な摩擦の先にしか、システムと企業が真に生き残る道はないのだ。

