• 締切済み

PCの意図的な時刻修正を検知する方法

Windows7PCの時刻に連動したタイムカードアプリ(ソフト)を稼働させています。 ASP、クラウドなどではなくPCの時計を基に記録します。 時刻を意図的に修正すると時刻を操作出来ます。運用上検知できません。 先日従業員の不正行為が発覚しました。 PC時計に依存しないクラウド型に変えれば話は早いのですが、 台数が多いため予算的にも課題であり、また1台ずつログを見るのも現実的ではないです。 時刻変更をトリガーとして管理者宛てにメール送信を考えましたが、NTPサーバと自動で同期した時も同じ内容のトリガーになってしまいます。 人為的に変更された時だけ(実際はもとに戻すのでほぼ2回連続で発生します) メールやFTPなどなんでもいいので検知出来る方法って何かありますでしょうか? OS標準タスクスケジューラでなく、時刻修正を検知できる常駐型ツールなどでもかまいません。 ご存じの方、良いお知恵ありましたらよろしくお願いします。

みんなの回答

回答No.3

システム時刻を変更できるということは、管理者権限を与えているということでしょうか。 一般ユーザーの権限であれば、システム時刻の変更はできないはずです。 グループポリシーもしくはローカルセキュリティポリシーを変更して、管理者権限のユーザーでもシステム時刻の変更ができないように制限してしまうというのはだめですか?

  • mimazoku_2
  • ベストアンサー率20% (1908/9135)
回答No.2

例えば、時刻送信の際にサーバータイムを自動追加して送信させればいかが? 時刻差がある範囲を超えたら、警告表示させるとか、端末の時刻異常として、ポップアップさせるのも一案と思うが・・・。 【例】出勤、退勤時 1:社員コード入力 2:PCの時刻取得又はハンド入力(申告時刻) 3:出勤(退勤)ボタン押下 4:プログラム上、サーバー時刻を取得 5:サーバーへデータをサブミットする。(社員コード+申告時刻+システム時刻) 申告時刻とシステム時刻を比較し、2分以内ならOK・・とかね。 これだと、異常な申告は、プログラムでピックアップ出来るので、後はエクセルなどで取り込めるファイル形式(CSVとか)にしておけば、事後の検証がし易いと思います。 通常は、社内にサーバーがあるでしょうから、サーバーの時刻を取得するものですが・・・。

  • yukitakao
  • ベストアンサー率44% (16/36)
回答No.1

時刻変更をトリガーにしてメール送信が~ とできているなら 時刻変更した際のずれが○分以上だったらメール送信と条件を追加してはいかがでしょうか? 変更前の時刻との比較、あるいはネット上から時刻だけ取得して比較など・・・ 有効期限付きのライセンス認証があるソフトを販売した際に 同じように時刻を変更して有効期限を無視して使おうとする人がいたので 時刻が24時間以上ずれていたらライセンス認証エラーとしていました。 海外で使う場合の時差も考慮して自分の場合は24時間としていましたが タイムカードだったら5分以上のずれ を不正とすれば十分ではないでしょうか? NTPサーバとの同期ではせいぜい数秒のずれでしょうし。

関連するQ&A