近年、サイバー攻撃の手口は複雑化しており、特に「コードケイビング」と呼ばれる技術はその代表的な例です。この攻撃手法は、従来のセキュリティ対策では検知しにくく、知らぬ間にシステムに悪意あるコードが潜り込むことで、甚大な被害をもたらすことがあります。本記事では、コードケイビングの概要やその仕組みについて解説します。
コードケイビングとは?
コードケイビングとは、既存のプログラムコードに悪意のあるコードを密かに埋め込むサイバー攻撃の一種です。一般的には、プログラムの一部に不要なスペースや未使用のコード領域(ケイブ)を利用して、悪意あるコードを挿入します。この技術を使うことで、攻撃者はソフトウェアの動作を変更し、システムに不正アクセスを試みたり、マルウェアを拡散させることができます。
コードケイビングの手法
コードケイビングは、既存のプログラム内の未使用領域に悪意のあるコードを隠すことで成り立ちます。具体的には、以下のような手法がよく用いられます。
👉空き領域の利用
プログラムの中には、データや機能が割り当てられていない「空き領域」が存在することがあります。攻撃者はこの領域を見つけ、悪意のあるコードを挿入します。
👉オリジナルコードの改変
元のプログラムコードを少し改変して、無害に見えるようにしつつ、その中に不正なコードを埋め込む手法です。これにより、プログラムは一見正常に動作するものの、バックグラウンドで不正な活動が行われます。
👉暗号化されたコードの使用
埋め込まれたコードを暗号化することで、解析を困難にし、攻撃が発見されにくくする手法も存在します。暗号化されたコードは、特定の条件下で解読され、実行される仕組みです。
コードケイビングはインジェクション攻撃のひとつ
コードケイビングは、広義のインジェクション攻撃の一種に分類されます。インジェクション攻撃とは、外部から不正なコードをシステムに挿入し、システムの動作を制御したり、データを盗み出す手法です。SQLインジェクションやクロスサイトスクリプティング(XSS)と同様に、コードケイビングも外部からシステムの脆弱性を悪用して、攻撃者がシステムを乗っ取ることが可能になります。この手法は特に検出が難しく、攻撃が長期間にわたって潜伏することがあるため、特別な対策が求められます。
➡関連記事①「SQLインジェクションとは?概要と被害事例、対策を解説」
➡関連記事②「対話型AIの脆弱性を突くプロンプトインジェクションとは?概要を解説」
アクトのサイバーセキュリティ対策支援
アクトはSentinelOneとMSSP契約を持つ正式パートナーかつ、国内唯一のIRパートナーであり、 平常時からインシデント対応までお客さま負担をかけることなく、最高レベルのサイバーセキュリティをご提供します。また、IT導入補助金を活用して導入することも可能です。
ご興味がございましたらお気軽にお問い合わせください。