2017-10-10 3 views
0

機密情報を扱うアプリケーション(Xamarin C#クロスプラットフォーム)をいくつか用意しています。そのため、データベースをパスワードで保護して(SQLCipher)、データベースの外に保存したデータを暗号化しています。しかし、私は、決まったハッカーが私たちのアプリケーションとデータベースDLLの間にDLLを挿入し、Connect()関数でパスワードを見るのは難しくないと思っています。同様に、私たちのアプリケーションシステムDLLがSystem.Security.Cryptographyを提供し、私たちのAES鍵が通過するのを見てください。DLL注入によるパスワードの盗みですか?

これを防ぐ方法はありますか?または私は間違っていますか?これは実際に大きなセキュリティリスクではありませんか?

+0

アプリパッケージに署名した場合、署名を破棄することなく動的にコードを変更することはできません。私はセキュリティリスクはかなり低いと思うが、あなたのクライアントの耐性などに基づいてそれを評価しなければならない。 – Jason

+2

Raymond Chenはこれを「密閉ハッチの反対側にある」と呼んでいる。誰かが悪意のあるDLLをインストールフォルダにコピーしてプログラムにロードさせるのに十分な権利を持っているなら、彼はそれを難し​​い方法でやっていなくても構いません。彼はあなたのプログラムを簡単に置き換えます。 –

答えて

0

あなたが必要とするのは、あなたのアセンブリ「C#: why sign an assembly?」に署名することです。

関連する問題