0
機密情報を扱うアプリケーション(Xamarin C#クロスプラットフォーム)をいくつか用意しています。そのため、データベースをパスワードで保護して(SQLCipher)、データベースの外に保存したデータを暗号化しています。しかし、私は、決まったハッカーが私たちのアプリケーションとデータベースDLLの間にDLLを挿入し、Connect()関数でパスワードを見るのは難しくないと思っています。同様に、私たちのアプリケーションシステムDLLがSystem.Security.Cryptographyを提供し、私たちのAES鍵が通過するのを見てください。DLL注入によるパスワードの盗みですか?
これを防ぐ方法はありますか?または私は間違っていますか?これは実際に大きなセキュリティリスクではありませんか?
アプリパッケージに署名した場合、署名を破棄することなく動的にコードを変更することはできません。私はセキュリティリスクはかなり低いと思うが、あなたのクライアントの耐性などに基づいてそれを評価しなければならない。 – Jason
Raymond Chenはこれを「密閉ハッチの反対側にある」と呼んでいる。誰かが悪意のあるDLLをインストールフォルダにコピーしてプログラムにロードさせるのに十分な権利を持っているなら、彼はそれを難しい方法でやっていなくても構いません。彼はあなたのプログラムを簡単に置き換えます。 –