ITエンジニアが仕事に対して思うこと

ITエンジニアとして働く中で感じたことを、現場の温度感そのままに言語化するブログです。設計・実装・運用のリアル、学び続ける負荷、品質とスピードのせめぎ合い、コミュニケーションの難しさなど、きれいごとだけでは語れない「仕事の実態」を整理します。誰かを責めるのではなく、なぜそうなるのかを構造で捉え、明日から少し楽に、少し強く働ける視点を提供します。新人から中堅、マネジメントまで参考に。

平成27年度春期情報セキュリティスペシャリスト試験午後Ⅰ問1過去問題解説 ‐ Web脆弱性徹底解剖 【動画解説付き】

www.youtube.com 平成27年春期情報処理試験を題材に、Webサイトの脆弱性を徹底解剖します。オークションサイトを舞台に、HTTPヘッダとセッション管理に潜む危険性と対策を解説します。セッションIDの保護、改行コードの罠、固定されたIDの恐怖など、Webセキュリティの基本から最新の防御技術までを分かりやすく解説。明日の試験対策や実務に必見の動画です。 本動画で学習すべき重要なキーワードについて説明します。まず一つ目はSecure属性です。WebサイトにおいてHTTPという暗号化されていない平文での通信が行われると、通信経路上でセッションIDが盗聴される危険性があります。これを防ぐためには、CookieにSecure属性を付与することが必須となります。Secure属性を設定することで、暗号化されたHTTPS通信の場合にのみCookieが送信されるようになり、大切なセッション情報の盗聴を未然に防ぐことができます。二つ目はHTTPヘッダインジェクションです。これは改行コードを悪用した攻撃手法です。HTTPヘッダに外部から改行コードを挿入されるということは、サーバーの命令書を勝手に書き換えられるのと同じことを意味します。攻撃者は改行を連続して入力することでヘッダの終了と本文の開始を偽装し、悪意のあるスクリプトをねじ込むことでクロスサイトスクリプティングへと発展させます。これによりCookieの盗難や偽画面の表示などが行われてしまいます。これを防ぐには、実行環境の安全なAPIを使用するか、改行コードを含む入力をエラーにするなど、外部からの入力値をそのままHTTPヘッダに出力しないという鉄壁の守りが必要です。三つ目はセッションフィクセーションです。これはログインの前後でセッションIDが固定されたまま変わらないという脆弱性を突く攻撃です。攻撃者が事前に取得した有効なIDを利用者に使わせてログインさせることで、攻撃者がその利用者になりすますことができてしまいます。まるで家を買う前に泥棒から合鍵を渡されているような状態です。この攻撃を防ぐ防御策は、ログインが成功した認証のタイミングで必ず新しいセッションIDを発行して古いIDを無効化するリジェネレートを行うことです。最後に、最新技術と仕組みの理解も重要です。近年ではブラウザの進化でSameSite属性がデフォルト化されたり、フレームワークがデフォルトでセッション固定対策を装備したり、常時SSL化が進むなど技術は進化しています。しかし、自動化に頼りきりになると思わぬ穴に落ちる危険性があるため、根本的な仕組みを知っておくことがシステムの安全を守る気づきへと繋がります。