情報セキュリティスペシャリスト試験の勉強で悩む新人エンジニアのももちゃんを、サクラ先輩が分かりやすく指導します。2013年の美容室管理システムの過去問を題材に、要件定義からマルチスレッドプログラミングにおける競合状態の罠まで、普遍的な基本を学びます。さらに、クラウドネイティブやゼロトラスト、FIDO2、WAAPなど、2026年の最新技術トレンドにアップデートした解説も必見です。一緒に楽しく学びましょう。
本動画で学習すべき重要なキーワードについて説明します。まず情報資産のリスクアセスメントにおいて重要なのが機密性です。顧客の個人情報が漏えいしてはいけないという要件は、改ざんされないことを意味する完全性と勘違いしやすいですが、漏えいによる被害を防ぐ機密性に分類されます。次に脅威と脆弱性の関係です。脅威とは不正アクセスや物品持ち去りといった攻撃を指し、それが悪用する弱点が脆弱性です。推測可能なパスワードといった論理的な脆弱性だけでなく、美容室の施錠管理不良のような物理的な脆弱性も情報セキュリティの重要な課題となります。認証機能のセキュリティ仕様においては、ブルートフォース攻撃への対策として、アカウントの認証時に待ち時間を挿入する遅延やロックが有効です。現代の2026年ではパスワードの複雑さに頼るのではなく、FIDO2を用いたパスキーによるパスワードレス認証や多要素認証が標準となっています。運用管理とネットワーク防衛の面では、WAFがWebアプリケーション層の盾として機能し、SQLインジェクションなどの不正な入力を検知して防ぎます。現在ではこれがAIを用いた振る舞い検知を行うWAAPへと進化しており、未知のゼロデイ攻撃やBot通信も自動でブロックする時代になっています。そして最大の難関となるのがレースコンディション、つまり競合状態です。これは複数のユーザーが同時に操作を行った際、データベースの読み込みから更新までのわずかな隙間に別の処理が割り込むことで発生するバグです。後から更新したデータで前の予約が握りつぶされてしまう更新喪失を引き起こします。これを防ぐための対策が楽観的ロックです。データベースから読み込んだデータを更新する際に、UPDATE文のWHERE句に更新日時などの以前の状態を含めることで、他のスレッドによって変更されていないことを確認します。現代の開発フレームワークではエンティティクラスにアノテーションを付けるだけで自動的に実装されます。この不具合をテストで確実に再現するためには、デバッガを使用してSQL文の発行直前にブレークポイントを設定し、二つの予約処理を意図的に時間を止めて並行して実行することが求められます。WAFや認証による外周の防御だけでなく、プログラマ自身がデータベースの動きを理解して内部のデータの整合性を守る中心の防御を両立させてこそ、真のセキュリティが完成するのです。 www.youtube.com