私は自分のサーバーを介してユーザーが独自のビルドされたLuaスクリプトを共有できるようにしたいと考えています。しかし私は、Luaスクリプトによって引き起こされるクライアント側の悪用を心配しています。私の理解では、ルアはこれを防ぐために作られています。しかし私はいくつかのLuaの悪用を見た。おそらく別の方法を模索すべきでしょうか?共有Luaスクリプトの安全性
私のフレームワークはQtで構築されており、私はQtLuaを使用することを考えていました。
私は自分のサーバーを介してユーザーが独自のビルドされたLuaスクリプトを共有できるようにしたいと考えています。しかし私は、Luaスクリプトによって引き起こされるクライアント側の悪用を心配しています。私の理解では、ルアはこれを防ぐために作られています。しかし私はいくつかのLuaの悪用を見た。おそらく別の方法を模索すべきでしょうか?共有Luaスクリプトの安全性
私のフレームワークはQtで構築されており、私はQtLuaを使用することを考えていました。
Sandboxスクリプトの実行とクライアント側とサーバー側の両方で事前コンパイルされたバイトコードのロードと実行を禁止するようにしてください。あなたのサンドボックスでは、ユーザーのスクリプトに対して、(あなたの文脈では)安全であると判明した安全な操作だけを提供するための "ホワイトリスト"テクニックを確認してください。
スクリプトを別々のプロセス(またはスレッド)で実行し、プラットフォームサービスを使用してスクリプトが消費するCPU時間とメモリの量を制限することができます。そうでない場合は、スクリプトrepeat until false
を実行するように誘惑されますCPUコア全体を消費し、メモリへの同様の単純な攻撃があります。
個人のパーソナルマシンに対する単純なサービス拒否攻撃の可能性が、パスワードやバンキングの盗難につながる悪用を可能にするのと同じリーグにはないため、IMHOは、詳細。
"他の人が自分のルアスクリプトを共有して、私の銀行サーバーでそれらを実行できるようにしたい... _"私はコートを手に入れます... – snogglethorpe
*共有*とはどういう意味ですか? – lhf
共有、交換。 LUAスクリプトを作成して他のユーザーに実行させることができます。 – RobotRock
スクリプトを実行ごとに1つずつ実行すると、時間やメモリなどのリソースを消費しないようにすることを除いて、問題はほとんどありません。 – lhf