リフレクション 【reflection】

概要

リフレクション(reflection)とは、反射、反照、反響、内省、熟考、思想、徴候、映像、非難などの意味を持つ英単語。IT分野では、コンピュータプログラム実行時に自身の内部構造の参照や書き換えを行う技術などをこのように呼ぶ。

プログラミングにおけるリフレクション

プログラミングの分野で、プログラム実行時プログラムの構造や構成要素(クラスメソッド関数など)についての情報を取得したり、プログラムの動作を動的に変更したりすることをリフレクションという。

例えば、実行時にあるオブジェクトクラス名を文字列データとして取得して動作に反映させたり、文字列変数に格納されたメソッド名を用いてオブジェクトメソッドを呼び出したりする機能のことを指す。

言語や処理系によってはコンパイル時にプログラムの構造を反映した処理を行うことができる場合もある。その場合、コンパイル時のリフレクションを「静的リフレクション」(static reflection)、実行時のリフレクションを「動的リフレクション」(dynamic reflection)という。

リフレクション攻撃 (reflection attack)

ネットワークを通じて行われる攻撃手法の一つで、送信元IPアドレスを偽装したパケットを送りつけるなどして、ネット上の他のコンピュータから攻撃対象のコンピュータに大量の通信を発生させて対象を過負荷で機能停止に追い込む手法をリフレクション攻撃という。

DDoS攻撃分散DoS攻撃)の手法の一つで、悪用するプロトコル通信規約)などに応じて、「DNSリフレクション」「NTPリフレクション」「SNMPリフレクション」などの種類がある。分野や手法によっては「アンプ攻撃」(amplification attack)「リフレクター攻撃」(reflector attack)などと呼ぶこともある。

(2023.8.15更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。