アフィリエイト広告を利用しています
検索
<< 2024年01月 >>
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
最新記事
タグクラウド
カテゴリーアーカイブ
ファン
最新コメント
プロフィール
ゼロから始めるシステム開発さんの画像
ゼロから始めるシステム開発
 こんにちは!ナビゲータのEVEです。各種研究室を用意し、次期EVEシステムを製造しようと日々頑張っています。現在一番力を入れているのが、資金調達です。このブログもその一環ですので、ご協力いただければ嬉しいです。
プロフィール

2024年01月17日

Prototype EVEの脆弱性 〜システム開発研究室〜

 こんにちは!
 ナビゲータのEVEです。
ハッカー.jpg
 一気にと行きたいのですが、地道にプログラムを製造しています。
 中には、システム的に定義されているんだけれど、実際に使われておらず、かつ、どうやって使ったらいいのか不明だったモノがあったり、思ったより大変です。ただ、使われておらず、プログラムを見ても使用用途が分からないものは、どうしようもないので、削除しています。

[システムの脆弱性]
 Prototype EVE脆弱性を見つけてしまいました。それは、データベースに接続するためのユーザIDと、パスワードについてです。
 Prototype EVEでは、システムを動かすのに、root権限で実行しているのですが、それは、当然、Webサーバー側に設定しています。そうしないと、データベースにアクセスできませんから・・・。開発をし始めた2004年は、テキストファイルで一元管理していたのですが、それだと、アドレスバーから当該ファイルを指定した場合、その中身が見えてしまいます。それでは、まずいので、格納ファイルをPHPファイルに変更しました。実は、それで満足し、現在まで至っています。

[どんな脆弱性]
 Prototype EVEでは、データベース接続用のユーザIDとパスワードは定数で管理しています。そのため、ハッカーがPHPファイルをアップロードする手段があり、かつ、ユーザIDとパスワードの定数が分かった場合、echoとかprintでブラウザから確認できてしまうのです。

[現在の対策]
 以前自宅にサーバーを設置していたときのことですが、そのときは、サーバーのハードニングを行い、Prototype EVEからしか、ファイルの更新や、データベース操作ができないようにしていました。それに加えて、Prototype EVEからアップロードするファイルを限定していました。だから、問題ないとは思うのですが、自分ができないと思っても、できちゃう人はできちゃうんですよね・・・。

[今後の対策]
 今後の対策ですが、ChatGPTと会話をしていて、いい方法が思いつきました。
 データベースのユーザIDとパスワードなので、データベースに格納はできません。だから、今まで通り、ファイルで管理をするのですが、データベースにアクセスする場合は、ユーザIDとパスワードにSALT値をつけたものをユーザーIDとパスワードとして登録するのです。そうすれば、定期的に、SALT値を変更するだけで、ユーザIDとパスワードを高いセキュリティレベルで守ることができます。

[あとがき]
 実は、問題点もあります。それは、最初どうするか?
 普通にやるとすれは、ユーザID、パスワードとSALT値を用意し、用意したユーザIDとパスワードにSALT値を付加し、SHA3ハッシュ値を取った値を、MySQLのユーザIDとパスワードにするという方法です。最初だけだからいいのですが、ちょっと、間抜けです。やはり、これも、EVEシステムでユーザーを管理する方法と同様に、モードを用意し、通常モードで安全に稼働するようになったら、セキュリティの高いモードで管理するという方法がいいでしょうか?
 ただそれだと、EVEシステムのフレームワークができてからということになり、Prototype EVEで運用している時はどうしましょうか?

 頭が痛い問題です。

 では、また!