解説:教えて那々子先生
先生
このクラスから逮捕者を出したくないとは言ったが、まさか、捜査協力OJTプログラム第一号で、逮捕者が出るとはな
なかなか撲滅できないSQLインジェクション
先生
まあ、安心しろ。サイバー保安庁は、この10年は離職者が後を絶たず、スキル不足の人材が多い。だから、今回の取り組みは逆OJTみたいなもんだ。大成功じゃないか、大成功
先生
SQLインジェクションといえば、100年(※)近く前から定番の脆弱性だが、安全対策が進んだから、相対的に認知度は下がってきている。仕方がないといえば仕方がないな
※この作品の舞台は2070年の設定です。SQLを使用するデータベースが登場したのが1970年代であるということからおよそ100年としていますが、公開の場でSQLインジェクション攻撃について議論され始めたのは1998年とする文献があります。
充希
原理の説明は聞きましたが、なんで100年も時間があって撲滅できないんでしょうか?
先生
いくつか理由はあるだろうが、インジェクション系の脆弱性全般に言えることは、無意識にユーザーの入力を信用し過ぎているということだろうな。取引先カナに'--')/ヨッ
なんて入力する奴なんていないと
先生
まあ、今回のように'
や--
のように特別な意味を持つ記号は分かりやすいが、Shift_JISの2バイト文字の2バイト目の文字コードが記号と解釈されてSQLインジェクションの脆弱性となる事例もある。開発者が、そういった挙動をすべて把握するのは難しいし、挙動を知らなければ異常系テストも行なえない