TOPシステム開発> ログインIDによるパスワードのチェック方法
ながさきITモデルへの参画 〜 地場SIerの官公庁システム開発奮戦記
ながさきITモデルへの参画 〜 地場SIerの官公庁システム開発奮戦記

第4回:ソースコードの公開と脆弱性問題との戦い
著者:ドゥアイネット   穴井 春奈   2006/5/24
前のページ  1  2  3   
ログインIDによるパスワードのチェック方法

   ログインIDによるパスワードのチェックの際、次の(1)「入力されたIDのみでデータを検索してチェックする」と(2)「入力されたIDとパスワードでデータを検索しチェックする」2つの方法がある。
ログインIDによるパスワードのチェック方法
図5:ログインIDによるパスワードのチェック方法

   当社で(2)のチェック方法を採用したケースがあるが、本来は(1)の方法が最善である。なぜなら、ログインIDは通常6バイトの文字または数値のみで統一するなど、なんらかのルールが設けられ、パスワードは文字や数字を組み合わせたり、桁数も大小様々に設定するのが一般的である。

   このため、悪意あるユーザがパスワード入力の中にデータベースを操作するSQL文をセミコロン(;)付きで入力した場合、(2)の方法だとデータベースを簡単に操作することが可能となってしまう場合もあるのだ。これもありがちな間違いなのである。


裏口パスワードの存在

   この他にもソースコード内に、ログイン認証を通過できるユーザ名・パスワードが記入されているため、ログイン認証の意味を持たなくなってしまうという指摘を受けた。

   指摘を受けたシステムでは、ログイン画面にユーザ名・パスワードが初期値としてセットされており、ログインボタンをクリックするだけでシステムを利用できるようになっていた。

   これは元々は長崎県庁内での利便性を考慮した仕様に基づくものだったのだが、オープンソースとして公開するものとしてはふさわしくないとして、通過できるユーザID・パスワードの記述を削除することで対策を取った。


脆弱性の指摘を受けて学ぶもの

   今回の脆弱性の指摘を受けたことは一部ニュースサイトなどで報道された。それを受けてOSVFNでは、県内参加企業に対してオープンソース脆弱性セミナーを開催する対処を行った。脆弱性について指摘された内容を1つの経験値として地場企業で共有し、今後の開発に活かしていこうという目的のためである。指摘を受けた箇所と修正したソースコードを基に、どのように実装すればいいのかを事例発表として公表した。長崎県全体のレベルUPに繋げるためだ。

   なぜこのような程度の脆弱性の対応ができていないのかと思われた読者もおられるだろう。だが、これが中小企業の実態なのではないだろうか。今回のような脆弱性といった問題は、大企業であれば事前に講習などを行い準備することも可能だろう。だが当社のような中小企業では、脆弱性について勉強する時間もお金もないのが現状なのである。

   ソースを公開することによってセキュリティの脆弱性に対する指摘を受け、それにきちんと対応していけば、知識も増えスキルが上がる。長崎県としては脆弱性問題の有無がどうだということではなく、指摘を受けたことを1つの経験として捉え、今後に活かすことが地場企業を育てることの1つだと考えているのではないだろうか。

   そうだとすれば、指摘を受けたことをマイナスと考えてはいけない。ソースを公開して指摘を受けたことによって今までなかった知識や技術が得ることができ、それを元によりよいシステムを開発することができたのだ。指摘を受けることを恐れていては、何も得られないのではないだろうか。

前のページ  1  2  3   

「長崎県スケジューラー紹介」

ドゥアイネットでは、リッチクライアント言語を使ったスケジューラーを開発致しました。直感的な操作性とストレスを感じさせない処理スピードで、事務の効率化とコストダウンを実現しています。デモサイトが公開されていますので、ぜひ一度お試しください。

機能詳細はコチラ(実際に体験できるデモサイトをご用意しています!)
http://www.doinet.co.jp/activity/scheduler/
株式会社ドゥアイネット  穴井 春奈
著者プロフィール
株式会社ドゥアイネット   穴井 春奈
システム技術部2課 チーフ。
前職は一般事務。もっと自分にしかできない仕事をしたいという思いから転職を決め、ドゥアイネットに入社して4年。現在は長崎県電子自治体プロジェクトに携わり、設計から開発までをこなす。

INDEX
第4回:ソースコードの公開と脆弱性問題との戦い
  オープンソースとしてソースコードを公開
  セキュリティの脆弱性問題
ログインIDによるパスワードのチェック方法