Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
hlf-time-oracle — Hyperledger Fabric ブロックチェーン向けチェーンコードは、他のチェーンコードに正確な時刻を提供します。これにより、トランザクション時刻の改ざんに関連するセキュリティ問題(CVE-2024-45244)を解決します。 | Kitploit
ツール/GitHubGitHub/shanker-sec/hlf-time-oracle
防御ツール脆弱性分析ネットワークセキュリティ暗号化
GitHubshanker-sec/hlf-time-oracle

hlf-time-oracle

Hyperledger Fabric ブロックチェーン向けチェーンコードは、他のチェーンコードに正確な時刻を提供します。これにより、トランザクション時刻の改ざんに関連するセキュリティ問題(CVE-2024-45244)を解決します。

リポジトリを見る
311年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

hlf-time-oracle

hlf-time-oracle は、ブロックチェーン Hyperledger Fabric のチェーンコードで、他のチェーンコードに正確な時刻を提供します。hlf-time-oracle は ntp パッケージ と nts パッケージ に基づいています。これにより、ブロックチェーンクライアントによる トランザクション時刻の改ざん に関連するセキュリティ問題 (CVE-2024-45244) を解決します。このチェーンコードは、GetTimeNtp() 関数と GetTimeNts() 関数を提供します。これらの関数を呼び出すと、NTP (Network Time Protocol) サーバーと NTS (Network Time Security) サーバーへの呼び出しが作成されます。これらのいずれかのサーバーから受信した時刻を使用して、クライアント側で定義されたトランザクション時刻の正しさを検証できます。ブロックチェーン用チェーンコードの開発者は、NTP サーバーおよび NTS サーバーとやり取りするコードを独自に記述する代わりに、hlf-time-oracle を使用できます。hlf-time-oracle は、動作中にブロックチェーンへデータを保存しません。

Hyperledger Fabric バージョン 2.4.x 用の hlf-time-oracle は hlf_2.4 フォルダーにあります。Hyperledger Fabric バージョン 2.5.x 用の hlf-time-oracle は hlf_2.5 フォルダーにあります。

公開サーバーのリスト

中央集権化の問題の解決

NTS プロトコルの特徴

中間者攻撃への耐性

ライセンス

公開サーバーのリスト

公開 NTP サーバー

公開 NTS サーバー

中央集権化の問題の解決

単一のタイムサーバーに依存したくない場合は、複数のタイムオラクルを使用できます。


オラクル

NTS プロトコルの特徴

NTS は NTP の拡張です (RFC 8915 を参照)。接続は 2 つあります: TLS 用の TCP と NTP 用の UDP です。NTP 接続のポートは NTS サーバーによって決定され、標準の 123/UDP とは異なる場合があります。ファイアウォールを設定する際はこの点に注意してください。

正しい TLS 接続を確立するには、クライアント (つまり hlf-time-oracle が実行されているシステム) のシステム時刻が比較的正確 (NTS サーバー証明書の有効期間内) である必要があります。そうでない場合、接続は確立されません。

中間者攻撃への耐性

GetTimeNtp() の代わりに GetTimeNts() を使用することをお勧めします。NTP とは異なり、NTS の使用は中間者攻撃に対して耐性があります。オープンデータ部分が不正に偽装された場合、次のエラーが記録されます: authentication failed on client。NTS サーバー証明書を偽装しようとした場合、次のエラーが記録されます: key exchange failure: tls: failed to verify certificate: x509: certificate signed by unknown authority。

実験


モデル

hlf-time-oracle は docker (docker ネットワーク 172.18.0.0/24) 内で実行されています。docker ホスト (Host_1) 上では、netsed (ポート 4000/UDP) と mitmproxy (ポート 8080/TCP) が実行されています。hlf-time-oracle からそれらへのトラフィックは iptables を通過します。2 番目のホスト (Host_2) は、オラクルの GetTimeNtp() 関数と GetTimeNts() 関数に (peer chaincode query 呼び出しを介して) アクセスします。これらの関数を呼び出すと、オラクルはそれぞれ NTP サーバーと NTS サーバーに呼び出しを行います。

NTP

netsed にトラフィックをリダイレクトする iptables ルール:

root@kitploit:~
iptables -t nat -A PREROUTING -s 172.18.0.0/24 -d 213.234.203.30/32 -p udp -m udp --dport 123 -m udp -j REDIRECT --to-ports 4000

ルールを指定して netsed を実行します。


netsed で %ea%33 を %eF%33 に置き換えるルールを作成します


攻撃が成功した結果。

NTS

netsed

netsed にトラフィックをリダイレクトする iptables ルール (NTS サーバー ntp1.glypnod.com の IP アドレスは 104.131.155.175):

root@kitploit:~
iptables -t nat -A PREROUTING -s 172.18.0.0/24 -d 104.131.155.175/32 -p udp -m udp --dport 8123 -m udp -j REDIRECT --to-ports 4000

ルールを指定して netsed を実行します。


netsed で %ea%33 を %eF%33 に置き換えるルールを作成します


攻撃が失敗した結果。

docker ログを確認しましょう:


docker ログ

mitmproxy

mitmproxy にトラフィックをリダイレクトする iptables ルール (NTS サーバー ntp1.glypnod.com の IP アドレスは 104.131.155.175):

root@kitploit:~
iptables -t nat -A PREROUTING -p tcp -s 172.18.0.0/24 --dport 4460 -m tcp -d 104.131.155.175 -j REDIRECT --to 8080

mitmproxy ログを確認しましょう:


mitmproxy ログ

docker ログを確認しましょう:


docker ログ

ライセンス

MIT

ツールをダウンロード