リフレクション 【reflection】
概要
リフレクション(reflection)とは、反射、反照、反響、内省、熟考、思想、徴候、映像、非難などの意味を持つ英単語。IT分野では、コンピュータプログラムが実行時に自身の内部構造の参照や書き換えを行う技術などをこのように呼ぶ。プログラミングにおけるリフレクション
プログラミングの分野で、プログラムの実行時にプログラムの構造や構成要素(クラス、メソッド、関数など)についての情報を取得したり、プログラムの動作を動的に変更したりすることをリフレクションという。
例えば、実行時にあるオブジェクトのクラス名を文字列データとして取得して動作に反映させたり、文字列変数に格納されたメソッド名を用いてオブジェクトのメソッドを呼び出したりする機能のことを指す。
言語や処理系によってはコンパイル時にプログラムの構造を反映した処理を行うことができる場合もある。その場合、コンパイル時のリフレクションを「静的リフレクション」(static reflection)、実行時のリフレクションを「動的リフレクション」(dynamic reflection)という。
リフレクション攻撃 (reflection attack)
ネットワークを通じて行われる攻撃手法の一つで、送信元IPアドレスを偽装したパケットを送りつけるなどして、ネット上の他のコンピュータから攻撃対象のコンピュータに大量の通信を発生させて対象を過負荷で機能停止に追い込む手法をリフレクション攻撃という。
DDoS攻撃(分散DoS攻撃)の手法の一つで、悪用するプロトコル(通信規約)などに応じて、「DNSリフレクション」「NTPリフレクション」「SNMPリフレクション」などの種類がある。分野や手法によっては「アンプ攻撃」(amplification attack)「リフレクター攻撃」(reflector attack)などと呼ぶこともある。
(2023.8.15更新)