Chrononglyph

情報セキュリティ

前へ1 / 2次へ
#8035

React2shell脆弱性

運営しているサイトがハッキングの標的になり、ほぼ一日をかけて検証していました。
まず12月09日、Reactというフレームワークに致命的な脆弱性があると発表されました(IPAのニュースリリース )。
自分がwebアプリ開発に使っている「Next.js」はReactのフレームワークであり、これの影響を受けます。
この最初の報道を見かけたときは「週末くらいにバージョンを確認して該当していたらアップデートするか」
というくらいの気持ちでいました。すぐに攻撃が来るとは思わなかったからです。


ところが今朝、VPSをホストしている会社から自動送信メールが。
「あなたのサーバーがCPUを占有しており、他ユーザーに影響が出かねないためシャットダウンしました」と。
ホスティング会社から怒られたのはWP時代を含めると2回目、VPS運用後では初です。
これはもう今回のReact2shell絡みで自分のサイトが標的にされ、攻撃されているとしか思えませんでした。
これを受けて、急遽半日くらいLinuxと格闘していました。


まずtopps auxコマンドでプロセスのCPU使用率を確認したところ、再起動時点では攻撃されてなさそう。
見覚えのないユーザー名やプロセスが稼働しているということもぱっと見では無い。
lastコマンドで直近の成功ログインをチェックしても、自分のIPアドレスしかなく管理者権限で入り込まれた形跡は無い。
ちなみにlastbコマンドでログイン失敗履歴が見れますが、これは恐ろしいほどたくさんありました。
が、これが直接的にCPUを焼いているとは思えません。


crontab -lで現在動いているcron(自動実行スクリプト)に不審なものがないかチェック。
また、journalctlでシステムログを確認するも、こちらも特に怪しいものはなし。
システム内で最近更新されたファイルの一覧を出力してみるも、こちらも不審なものはなし。
ただ、nginxのアクセスログをみると大量のアクセスが試行されていることがわかりました。
おそらくですが、これにfail2banが都度反応したためにfail2banがCPUリソースを食ってしまったのだと思われます。


今回のReact2shell脆弱性に関わっているバージョンはかなり限られていて、
Pages Routerを使っている少し古いアプリは対象外となっています。
自分が運営しているサイトでは、大規模で他人のデータも預かっているピクチャレ大会はPages Routerなので対象外。
しかし2024年開設の4代目本家ブログが比較的新しいApp Routerを使っており、
ちょうどピンポイントで脆弱性のあるバージョンを使っていました。
そのため今回は、ピクチャレ大会ではなくこのブログが標的にされたものと見られます。


ただ、かなり探しても侵入された形跡や不審なファイルなどが見当たらないこと、
もともとサーバーにはWAFやfail2banなどの防御システムが作動していたことなどから、
「アクセス過多によってCPUが焼かれたが、セキュリティは突破されなかった」と結論づけました。
より正確には、セキュリティが突破されなかった証拠は無いが、突破された証拠も見つかってないだけですが。


今回、VPS導入後初めてwebサイトがハッキングされるという事件が起き、いろいろ学びもありました。
まずIPA(情報処理推進機構)がリリースするようなセキュリティニュースはすぐ動かないとダメということですね。
今回も脆弱性のニュースはホスティング会社から怒られる前に知っていたのですが、
「まさか自分のサイトは数日では攻撃されないだろう」という慢心がありました。
実際、ピクチャレ大会の10分の1程度のアクセス数しかないブログが攻撃されたのは驚きですが、
こういう重大な脆弱性は規模関係なく警戒する必要がありそうです。


あとセキュリティリスクに対応するためにはLinuxの知識が絶対不可欠であることも痛感しました。
今回は自前の基礎知識+ChatGPTのアシストで対応しましたが、
自前の基礎知識というのは6年前に読んだ『Linuxの教科書』という本で止まっており、危機感を感じます。
ChatGPTの提案するコマンドを何も理解せずコピペするだけというのはかなりのリスクがあります。
こうなると、インフラ関係もどこかで機会を作ってアップデートする必要はありそう……。
むしろフロントエンドやバックエンドの知識を深めるよりもはるかに大切のような気がします。


#7504

KADOKAWAサイバー攻撃事件

動画共有サービス「ニコニコ動画」を保有するKADOKAWAがランサムウェアの被害に遭い、
ニコニコ動画関連サービス全体が閲覧できないという状況になっています。
それどころか、ハッカーグループは取得した機密情報の一部を順次ダークウェブに放流しているらしく、
さらにそれをゲットした無関係の愉快犯がSNSにアップロードするなどして大混乱に陥っています。
機密情報はニコニコ動画に提供されていたイベント参加者の実名、顔写真、電話番号や、
KADOKAWAが運営する通信制高校「N高」の在校生、卒業生、保護者のあらゆる個人情報が含まれています。
国内のサービスが受けたサイバー攻撃としては前例のない大規模なアクシデントなのではないでしょうか。
基本情報技術者試験などの教科書に載るレベルだと思います。
IT企業のセキュリティ教育でも今後長く擦られ続けるトピックスになるでしょう。


ランサムウェアとは、機密情報の閲覧権限を持つユーザーになりすましてアクセス権を奪い取り、
機密情報を暗号化することによって「解除して欲しかったら身代金をよこせ」と脅迫するタイプのマルウェアです。
アクセス権を奪う方法で著名なのは、メールの添付ファイルにウイルスを仕込むというものですね。
なのであらゆるIT企業はメール添付ファイルは相当警戒しており、
企業ごとにとっても厳しいセキュリティポリシーが定められています。
社員が1人でも引っかかるとこんな大変なことになるという非常に良い事例なのではないでしょうか。
世界的にはランサムウェアに引っ掛かったら身代金を払ってしまう事例が多いそうですが、
今回はKADOKAWAがすぐに身代金を払わなかったのでハッカーが情報を流してしまったようです。


この件で一番恐ろしいと思ったのが、ハッカーがダークウェブに流した機密情報を
わざわざTwitterなどの表舞台に転載する特級のバカが多数見受けられたということですね。
しかもそういう投稿がめちゃくちゃ拡散されている。これってどこまで罪に問えるんでしょうか?
転載自体は論外として、リツイート(リポスト)している輩も半分くらい同罪のような気がするのですが……。
でも、実際に拡散している人の中には罪の意識がまったくない人もいるんだろうなぁ。
この辺はもう完全にモラルが追いついていない部分で、恐ろしいなと改めて思います。
SNSは無法地帯などとよく揶揄されますが、そろそろ本格的に規制してしかるべきなんじゃないだろうか?


ちなみに自分もかつてニコニコ動画のプレミアム会員だったため、
決済情報などから機密情報が漏洩されているのではないかと若干不安になりましたが、
どうやら決済関連情報はKADOKAWAの管轄ではないためセーフのようです。
まぁこの辺はよっぽど古いネットショップでないかぎりクレカ情報の平文保存はしていないと思いますが、
自分も無数の機密情報を各所に保存しているため
改めてセキュリティリスクについては点検してもいいのかもしれません。


#7065

てのひらの全財産

セキュリティ関係で話題が2つ。
まずは仮想通貨ウォレットとしては有名な「MetaMask」で大規模な資産流出があったそうです。
なんか噂だとシードフレーズ(パスワード紛失時に復旧するためのパスフレーズ)
が流出していないのに中に入っていたイーサリアム(ETH)を根こそぎ盗られたんだとか。
しかも、仮想通貨界隈の著名人もちらほら被害に遭っているそうで、
その界隈ではかなり話題になっていました。


「シードフレーズは絶対にオンラインへ保管しないこと!」
という注意喚起のツイートも回ってきました。
自分は実はオンラインに保存しているので、どうするべきかちょっと考えていました。
オンラインといっても1Passwordの中なので、それはそれでかなり強固なセキュリティがあります。
ただ、同様のサービスでしばしば情報流出事件が起こっているのも確かで、
1Passwordとて絶対に安全とは言えない部分もあります。
でも、シードフレーズを紙に書いて保管するというのも紛失のリスクがあり、迷うところです。
物理的になくすリスクが少なく、紛失しても他人に見られない、かつオフラインの場所……
となると自分はもうスマホのオフラインストレージしか思い浮かびません。
それとハードウェアウォレットを別々に持ち歩くのが現状最強のセキュリティなのかなと。


ただ一方で、最近ニューヨークで「スマホ画面を覗き見てパスコードを暗記しておいて、
その後スマホをひったくって覚えたパスコードでロックを解除し全財産を抜き取る」
などという恐ろしい手口が流行りつつあるそうです。
スマホのパスコードは短いので、盗み見ればそれを把握することは不可能ではありません。
そして自分の場合はスマホを盗られたらもう完全にアウトです。
仮に先述のシードフレーズをスマホのローカルに置いておいたとしても盗まれるし、
すべてのネットバンキングにスマホからアクセスできるので文字通り全財産を失う可能性があります。


ということで、この度スマホロック画面のパスコードを6桁から12桁にしてみました。
12桁なら仮に入力しているところを一度見られても暗記されにくく、
またそもそも12回も素早く指が動くのでパスコードを把握されにくいだろうという考えです。
代わりに自分がロック解除する際に手間がかかってしまいますが、
日常生活でロック解除する場面のうち98%は顔認証で済んでいると思うので問題ないかなと。
自分が12桁暗記できないリスクについては、
従来の6桁に新しい6桁をくっつけることで対処しました。
従来の6桁はもう完全に身体が覚えているので、これなら覚えるのは実質6桁です。


まあ実際にはこれでも十分ではないかもしれませんが、
これからもスマホに重要情報が集約されていく一方だと思うので
セキュリティはくれぐれも気をつけたいところです。


#7042

スマホを落としたら終わり

自分はパスワードの管理を「1Password」というアプリに一任しているのですが、
必ずしもこれだけで一元管理できているわけではありません。
先日、アプリの認証をしようとしたら「パスキー」の使用を促されたので、
特に何も考えずに認証してしまったのですが、
本来であればなるべく1Passwordで管理するのがベターだと思っています。


パスキーはiOS16から搭載されているiPhoneの新機能で、
Apple製品以外でも名前を変えて似たような機能がすでに存在しています。
いわゆるパスワードレス認証というやつで、FIDOという規格を利用したものです。
仕組みについては、LinuxでSSH接続をしたことがある人ならすぐにわかると思います。
端末とサーバーそれぞれにペアとなる秘密鍵を発行して保存しておいて、
生体認証でそれにアクセスして鍵同士を突き合わせているわけですね。
(あんまりよく調べていないので間違っていたらすみません)


秘密鍵そのものはいわゆるパスワードとは比べものにならないくらい強固なので、
これを総当たりや辞書攻撃などの古典的な方法でハッキングするのはまず不可能です。
しかもパスワードを覚える必要もないということで、セキュリティ的には非常に優れています。
ただ、欠点としては秘密鍵はスマホに保存されていて簡単に移動できないので、
認証には必ず手元にスマホが必要であるということです。
また、その際共有パソコンなどでログインする場合は複雑な手順を踏まなければなりません。
何よりも「スマホを落としたら終わり」というリスクは常にあります。


まあでも、考えてみればFIDOキーだって家の鍵だって落としたら終わりなわけで、
スマホの重要度がそれに匹敵するようになっただけと考えれば自然なのかも。
ただ、家の鍵などと違うのはバッテリーが切れると使い物にならないという点ですね。
なので、物理的に紛失することが無くてもバッテリー切れで困るというケースは十分あり得ます。


昨今は電子マネーもポイントカードも、
個人情報もパスワードも何でもかんでもスマホの中に入れるようになってきていますが、
重要情報資産をスマホに一極集中することが必ずしも正しいと言えるのかはなんとも言えません。
まあ、スマホで一元管理できればそれが便利なのは間違いないのは確かですけど。
冒頭に挙げた1Passwordも一元管理できているからこそ便利なわけで、
パスワードの保存場所を分散してしまったらその分不便になることは避けられません。
この辺はリスクと利便性のシーソーゲームなのかもしれませんね。


とにかくスマホの重要性が右肩上がりなこの時代、盗難対策だけはしっかりしたいところです。
「iPhoneを探す」機能をiPhoneが無くても使えるようにしておくことは必須か。
となると、やっぱりそのためにスマートウォッチやサブスマホはあった方がいいのかも……?


前へ1 / 2次へ