CWE一覧に戻る
CWE-361

7PK - 時間と状態

7PK - Time and State
カテゴリ 作成中
JA

このカテゴリーは、「七つの邪悪な王国」の脆弱性分類の中の一つの系統を表している。これには、複数のシステム、プロセス、スレッドによる同時またはそれに近い計算をサポートする環境における、時間と状態の不適切な管理に関連する弱点が含まれる。Seven Pernicious Kingdomsの著者によれば、「分散計算とは、時間と状態に関するものである。つまり、複数のコンポーネントが通信するためには、状態を共有する必要があり、それにはすべて時間がかかる。ほとんどのプログラマーは自分の仕事を擬人化する。制御の1つのスレッドがプログラム全体を実行することを、もし自分がその仕事をしなければならない場合と同じように考えるのだ。しかし、現代のコンピューターはタスクの切り替えが非常に速く、マルチコア、マルチCPU、分散システムでは、2つのイベントがまったく同時に発生することがある。プログラムの実行方法に関するプログラマーのモデルと、現実に起こることとの間のギャップを埋めるために、欠陥が殺到する。これらの欠陥は、スレッド、プロセス、時間、情報の間の予期せぬ相互作用に関連している。これらの相互作用は、セマフォ、変数、ファイルシステムなど、基本的に情報を保存できるものすべてといった共有ステートを通じて起こる。"

EN

This category represents one of the phyla in the Seven Pernicious Kingdoms vulnerability classification. It includes weaknesses related to the improper management of time and state in an environment that supports simultaneous or near-simultaneous computation by multiple systems, processes, or threads. According to the authors of the Seven Pernicious Kingdoms, "Distributed computation is about time and state. That is, in order for more than one component to communicate, state must be shared, and all that takes time. Most programmers anthropomorphize their work. They think about one thread of control carrying out the entire program in the same way they would if they had to do the job themselves. Modern computers, however, switch between tasks very quickly, and in multi-core, multi-CPU, or distributed systems, two events may take place at exactly the same time. Defects rush to fill the gap between the programmer's model of how a program executes and what happens in reality. These defects are related to unexpected interactions between threads, processes, time, and information. These interactions happen through shared state: semaphores, variables, the file system, and, basically, anything that can store information."

不明

MITRE公式ページ — CWE-361