シェルコード 【shell code】
概要
シェルコード(shell code)とは、攻撃者がコンピュータを乗っ取るために送り込む特殊なプログラムコード。オペレーティングシステム(OS)を対話的に操作するシェルを起動するために用いられることが多いためこのように呼ばれる。ソフトウェアに保安上の欠陥(脆弱性)などがあると、本来は実行できないプログラムを外部から勝手に実行できてしまう場合がある。これを悪用して攻撃者が送り込むコード断片がシェルコードで、シェルを起動するなどして攻撃者が自由にOSを操作できるようお膳立てを行う。
既に標的のシステムを一般ユーザー権限やゲストアカウントなどで操作可能な場合に、管理者権限による操作などを可能にするために用いるローカル型と、ネットワークから標的のシステムを遠隔操作できるようにするために用いるリモート型に分類される。
短いコードでシステムの脆弱性をすり抜けて特殊な操作を実行するため、機械語のプログラムで構成されることが多い。標的とするソフトウェアの脆弱性、システムのCPUやOSの種類など、個別の環境に合わせて開発され、これらの要素のいずれかが異なる環境では機能しないのが一般的である。
(2022.1.27更新)