バグとは?ばぐ
バグとは、プログラムに紛れ込んだ誤りで、仕様どおりに動かない原因となるもの。単に動作がおかしいだけで済むものもあれば、攻撃者に悪用できる形の誤りもあり、後者はセキュリティホールと呼ばれて脆弱性の代表例に数えられる。設計の誤りや仕様の抜けも、広い意味ではここに含める。
最終更新:2026-10-09
この語が出る過去問を解く →背景
プログラムは人が書く以上、条件の書き漏れや境界の見落としを完全には避けられない。規模が大きくなるほど組合せは急増し、テストで全通りを確かめることもできない。そのため、誤りを一切なくすことを前提にはせず、早い段階で見つけて直し、見つかった後は悪用される前に修正を配る、という運用の側の備えが組み立てられている。脆弱性管理の考え方はここから出ている。
具体例
2021年に公表されたApache Log4jの欠陥は、ログ出力の処理に含まれた誤りが、遠隔からの任意コード実行(外部から好きなプログラムを動かされること)を許すもので、世界中の企業が修正版への更新に追われた。修正はCVE番号(脆弱性に振られる世界共通の識別番号)で識別して管理される。
試験での引っ掛け
バグとセキュリティホールは同じではない。攻撃に使える性質を持つバグだけがセキュリティホールになる。また人が操作を誤るヒューマンエラーや、部品が寿命で壊れる故障とも原因が異なり、脆弱性の分類ではそれぞれ別に扱う。
関連用語
出た過去問
出典:令和4年度 公開問題 基本情報技術者試験 科目B 問13(IPA)
次の記述中の に入れる正しい答えを、解答群の中から選べ。ここで、配列の要素番号は1から始まる。 関数searchは、引数dataで指定された配列に、引数targ…
正解:要素数が2で、targetがdataの末尾要素の値と等しい
要点:2分探索でlow←middleとすると範囲が縮まらず無限ループ
正しい2分探索では範囲を狭めるときに low ← middle+1、high ← middle-1 とします。このプログラムは low ← middle としているため、探索範囲が縮まらない場合があります。要素数2で目的の値が末尾にあるとき、middleは(1+2)÷2の商で常に1となり、data[1]<targetからlowが1のまま更新されず、条件が変わらないまま繰り返してしまいます。
出典・参考
公式シラバスの3 技術要素 > 1. 情報セキュリティ > (4) 脆弱性に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。