ITエンジニアが仕事に対して思うこと

ITエンジニアとして働く中で感じたことを、現場の温度感そのままに言語化するブログです。設計・実装・運用のリアル、学び続ける負荷、品質とスピードのせめぎ合い、コミュニケーションの難しさなど、きれいごとだけでは語れない「仕事の実態」を整理します。誰かを責めるのではなく、なぜそうなるのかを構造で捉え、明日から少し楽に、少し強く働ける視点を提供します。新人から中堅、マネジメントまで参考に。

令和元年度 秋期 情報処理安全確保支援士試験 午後Ⅱ問1過去問題解説【改訂版】サクラ先輩とモモちゃんのセキュリティ演習:潜伏するCPU泥棒を追え! 【動画解説付き】

               [https://www.youtube.com/watch?v=Gqd3qPR4-gY:embed:cite]

今回はサクラ先輩とモモちゃんが、CPU使用率100%の謎を追うセキュリティ演習です。題材は令和元年秋期午後Ⅱ問1。DevOps環境のサーバがクリプトジャッキング(暗号資産の不正採掘)被害に遭遇。マルウェアが仕掛けた「再感染の罠」や「ルートキットによる隠蔽」を暴き、コンテナ技術やシフトレフトといった最新の防御策で根本解決するまでのプロセスを分かりやすく解説します。 まず押さえておきたいのがクリプトジャッキングという攻撃手法でこれは攻撃者が他人のコンピュータ資源を盗用して暗号資産の採掘いわゆるマイニングを行う行為であり今回の事例ではサーバのCPU使用率が異常な高負荷を示したことが発端となりました。しかし単純にプロセスを確認しようとしても見つからない場合がありそこで登場するのがルートキットという存在です。ルートキットはOSの深部に入り込みシステムコールをフックすることで自身のプロセスやファイルを管理者から隠蔽する機能を持っており具体的には動的リンカを悪用して不正なライブラリを読み込ませ本来のディレクトリ読み出し関数の挙動を改ざんする手口などが使われます。また今回のマルウェアは自身の利益を最大化するために競合他者の侵入を防ぐという奇妙な挙動を見せました。これは脆弱性のあるポートを攻撃者自身がiptablesコマンドで塞ぐことで再感染やリソースの競合を防ぐワームの性質によるものであり管理者による修正と見分けがつきにくいため注意が必要です。こうした高度な脅威に対抗するために現代の開発現場で重要視されているのがDevSecOpsという考え方でありその中心となるのがシフトレフトです。これは従来リリース直前に行っていたセキュリティ検査を開発の初期段階である設計やビルドの工程に前倒しして組み込むことで手戻りを防ぎ安全性を高めるアプローチです。さらにインフラ管理においてはコンテナ技術の活用が鍵となります。コンテナを利用することで本番環境と検証環境の差異をなくすだけでなく万が一マルウェアに感染してもコンテナごと作り直して入れ替えることで即座にクリーンな状態に戻すイミュータブルインフラストラクチャが実現可能になります。より進んだ対策としては攻撃者に悪用されるシェルやコマンドを含まないDistrolessイメージの採用やソフトウェアの部品表であるSBOMによるサプライチェーン管理なども有効な防御策として注目されています。