銀行ソフトウェアの信頼性とセキュリティを高めるには、PVS-Studioを使用してください

PVS-Studio +ファイナンス






顧客の中には、金融の分野でソフトウェアを開発している組織が徐々に現れ始めています。 さまざまなトピックに関する多くの記事がありますが、どういうわけか金融の領域を不当に迂回しました。 時間の経過とともに一連の記事を修正して書いてみましょう。短い話から始めましょう。

PVS-Studioツールに精通していない人のための導入段落。 PVS-Studio静的コードアナライザーは、C#、C、C ++プログラム、およびC ++ / CLIやC ++ / CX(WinRT)などのC ++方言のコードのエラーおよび潜在的な脆弱性を検出するように設計されています。 WindowsおよびLinuxで動作します。 現時点では、PVS-Studioは静的アナライザーのクラスで最も強力なツールの1つであり、多数の種類の欠陥を識別することができます。 warningsリストと 、アナライザー使用例をよく理解することをお勧めします。



PVS-Studioでは、多くのエラーが表示された直後に識別できます。 エラーの検出が速いほど、修正のコストは安くなります。 たとえば、NISTに従ってセキュリティ障害のコストがどのように増加するかを以下に示します。







ニスト








PVS-Studioアナライザーは非常に人気があり、エラーがあると時間やお金が大幅に失われる可能性があります。 ソフトウェア開発のそのような分野の1つは、金融セクターです。 たとえば、トレーディングおよびバンキングソフトウェアです。 金融会社にサービスを提供している開発チームからの関心が徐々に高まっていることがわかり、彼らは金融セクターからのクライアントのリストを補充し始めました。 ただし、もちろん、この領域にもっと注意を払う必要があり、この記事は最初の兆候です。



そして今、少し約束された物語。 アナライザーにはV3040診断機能があり、1つの整数値が別の整数値で除算され、結果がfloat型またはdouble型の変数に格納される状況を検出します。 もちろん、そのようなコードは常に間違っているわけではありませんが、間違いなく疑わしく、検証が必要です。



誰かがそのような間違いは大げさだと考え、V3040の警告はしばしば間違っているでしょう。 彼は正しいことも間違っていることもあります。 それはすべて、アプリケーションのタイプと、実際にプログラムが考慮するものに依存します。



ある人は、彼が働いているチームがこの診断を使用していることが、彼らのソフトウェアの非常に不快なエラーだと言った。 匿名を条件に話が私に語られたため、この人物がどこで働いているのかわかりません(いいえ、銀行ではありませんでした)。



エラーが見つかったモジュールは、さまざまなオプションと注文条件の柔軟な価格を計算しました。 言い換えれば、セールスマネージャーが潜在的な顧客に発言する価格を計算しました。 エラーは、特定の係数の計算に潜入しました。 整数除算が必要でない場合に使用されました:



double K; .... if (foo) K = 200 / 95; else ....
      
      





私はこのコードを思いついたとすぐに言わなければならず、実際にどのように見えたかわかりません。 アイデアは、係数2.1ではなく係数2が取得されるというもので、その結果、マネージャーはクライアントとの通信を開始し、価格を予想よりわずかに低く設定しました。 特定の条件の組み合わせでのみ価格が間違っていると見なされたため、プログラムが提供する数字を信頼してエラーに気付く人はいませんでした。



私が言ったように、この比率はまれな場合にのみ誤って計算されたため、このエラーは会社の収益に目立った悪影響を与えませんでした。 しかし、このエラーは開発者にとって不快なものだったため、優れたマニュアルでは検出を隠し、コードを静かに修正することにしました。



プログラマーのそのような振る舞いの正しさの問題は無視します。 非常に単純な整数除算エラーが、当局に伝えるのが怖いような結果をもたらすことは、はるかに興味深いです。







おっと








ご覧のように、 単純な間違いでも時間、お金、評判の損失を引き起こす可能性があります。 より責任のあるソフトウェアについて話す場合、エラーは非常に高価になる可能性があります。 金融セクター向けのソフトウェアを開発する人々は、統合アプローチを使用して信頼性を確保しています。 PVS-Studio静的アナライザーは、コード品質を制御するための一連の手段に非常に追加できます。



コードの品質を気にする人は、すぐにダウンロードしてPVS-Studioアナライザーを試してみることをお勧めします。 彼はあなたにエラーを見つけ、あなたはプログラムが一般的に働いたことの幸運に驚くでしょう:)。 クライアントではなく、ハッカーではなく、アナライザーで多くのエラーを検出できるようにします。



また、PVS-Studioのレポートは、SonarQubeツールと統合することにより、当局に非常に美しく表示できます。







ソナークベ








PVS-Studioに関するいくつかの紹介ビデオ(英語):



  1. C、C ++、およびC#(2017)のPVS-Studio静的コードアナライザー
  2. SonarQube用のPVS-Studioプラグイン
  3. PVS-Studio for Linux 。 このビデオでは、PVS-Studio for Linuxをインストールし、Far Managerのバグを確認する方法を示します。
  4. 大規模プロジェクトでのPVS-Studioの採用。 パートN1パートN2






この記事を英語圏の聴衆と共有したい場合は、翻訳へのリンクを使用してください:Andrey Karpov。 PVS-Studioを使用して金融ソフトウェアの信頼性とセキュリティを向上させる



記事を読んで質問がありますか?
多くの場合、記事には同じ質問が寄せられます。 ここで回答を収集しました: PVS-Studioバージョン2015に関する記事の読者からの質問への回答 。 リストをご覧ください。



All Articles