私は世界中にオフィスを構える金融機関で使用されている大規模なPython/Windows/Excelアプリケーションの開発を担当しています。最近、ある国の規制が変更され、その結果、配布物の「ロックダウン」版を作成する必要があると言われています。ロックダウンされたPython環境を作成するにはどうしたらいいですか?
私の外国の相手と少し不快な会話をした後、彼らはセキュリティを迂回するために使用される非標準のアプリケーションを生成するために、自分のコンピュータ上でPythonインタプリタを誤用する可能性があるようです。
私の最初の提案は、python.exeとpythonw.exeの実行権を取り除くことでした。私たちのアプリケーションは、Python DLLのみを使用するExcelプラグインとして動作します。これらのexeファイルは決して実際には使用されません。
私の同僚は、誰かがPython DLLに対して電話をかけることに懸念を抱いていました。たとえば、VBAなどのWindows DLLで関数を呼び出すことができる別のプログラミング言語や仮想マシンなどの「exec」関数を悪用する可能性があります。
インストールしたいDLLが悪用されるのを防ぐためにできることはありますか?この時点で、アイデアがなくなりました。私は、Pythonが私たちの認定プログラムだけを実行する方法を見つける必要があります。
もちろん、この質問には不条理な要素があります。コンピュータにはすべてExcelとWordがあるため、すべてがVBAを持っています.VBAはPythonと同等の機能を持つよく知られたスクリプト言語です。
ExcelのVBAが広く開かれているときは、Pythonについて心配するのは明らかに意味がありませんが、これは企業の政治であり、私のチームはPythonを使用することを提案しているので、安全。
良い点:コンピュータにはすべてJREが実行されているため、理論上誰でも自分のJARファイルを持ち込み、Java VMを利用することができます。この場合、Javaサンドボックスは適用されません。おそらく、私がこれを解決できる方法の1つは、既にシステム上にあるものと比較してリスクを定量化することです。リスクは銀行家が理解できる言語です。 –
定量化には役立ちません。私たちが言うように、あなたは「弁護士」を立ち上げ、実際の規制を読む必要があります。しばしば、彼らはかなり簡単で要約がかなり簡単です。 –