テクニカルエンジニア(セキュリティ)

まだ、勉強するための本を買っていないので出題範囲などよくわかっていないのですが、(id:TakamiChie)によると、セキュアプログラミングとして、Perl,C++,Javaが出題されるようである。
セキュアプログラミングね。たしか、IPAのコンテンツの一つとしてこんなのがあったなと思い出して、みてみる。


IPA セキュア・プログラミング講座:IPA 独立行政法人 情報処理推進機構

IPA自身のコンテンツでこんなことが書いてあるので、きっとその辺のことが出てくるに違いないと思う。項目をメモしてみる。

  • 共通編(Web)
  • 共通編(データベース)
    • SQL組み立て時の引数チェック
    • スクリプトに埋め込まれたDBパスワード
    • データベースとアクセス権
  • 言語編(Java)
    • 危険なクラスたち
    • カプセル化のすすめ
    • シリアル化と情報漏洩
    • クラス継承となりすまし
    • Javaアサーション
    • synchronizedとレースコンディション
  • 言語編(Perl)
    • ファイルオープン時のパスにご用心
    • Perlの危険な関数
    • PerlのTaintモード(汚染検出モード)
  • プラットホーム編(Unix/Linux)
    • シンボリックリンクの悪用
    • PATH変数/子プロセスのすり替え
    • setuidは慎重に
    • Unixのレースコンディション
    • coreファイルから情報が漏れる
    • Unixパス名の安全対策
    • テンポラリファイルから情報が漏れる
  • 方法論編(セキュアな実装)
    • パスワードの取り扱い
    • 入力値チェックの手法
    • エラーメッセージからの情報漏洩
    • 特権処理の局所化
  • 方法論編(より強固なソフトウェア構築)
    • 設計段階からのセキュリティ
    • 再利用と部品化
    • モジュール分割は何度も練る

こんなところか。とりあえず、IPAの資料だけに重要度は高いといえる。