一般的なタイプのセキュリティ脆弱性とそれらを修正する方法

公開: 2022-07-11

MicrosoftのExchangeServerの脆弱性は、米国の60,000を超える民間企業に影響を与える一連のサイバー攻撃の原因となっています。 そして、ちょうど1か月前、航空宇宙会社のボンバルディアは、サードパーティのファイル転送アプリの弱点により、従業員とサプライヤーのデータが侵害されました。

ITシステムをハッカーのレーダーにさらす可能性のあるセキュリティの脆弱性の種類はたくさんあります。 不十分なコーディング慣行から欠陥のある外部コンポーネントまで、理由が何であれ、多くの企業が暴露されることになります。 この問題を軽減するために、企業はQAとテストサービスの恩恵を受けて、自社のソフトウェアとネットワークを評価し、外部ベンダーコンポーネントのセキュリティリスクを評価します。

では、現時点でシステムをサイバー脅威にさらしている可能性のあるセキュリティの脆弱性の種類はどれですか? 脆弱性はどのように表示されますか? そして、どうすればそれらを軽減できますか?

ソフトウェアの脆弱性とは何ですか?それはどこから発生していますか?

セキュリティの脆弱性は、意図しないシステムまたはコンポーネントの特性であり、偶発的な露出、意図的な攻撃、または新しいコンポーネントとの競合による侵入またはデータ損失のリスクを拡大します。 このような脆弱性は、設計上の欠陥、実装のバグ、構成の誤りなどである可能性があります。

先に進む前に、脆弱性、エクスプロイト、脅威の違いを明確にしましょう。

  • 部外者の努力なしにシステムに脆弱性が存在する
  • エクスプロイトとは、侵入者が既存のシステムの弱点を利用して攻撃を仕掛ける方法です。
  • 脅威とは、1つまたは複数のエクスプロイトが脆弱性を使用してシステムに侵入した場合の実際のインシデントです。

セキュリティの専門家は、ソフトウェアパッチ、ハードウェアの交換、およびシステムの再構成を使用して、発見時に脆弱性を排除できます。 エンドユーザーにセキュリティ対策のトレーニングを行い、すべてのコンポーネントを最新の状態に保つことで、脆弱性を防止および最小限に抑えることもできます。 さらに、セキュリティチームは、システムが進化するにつれて、新しい弱点が現れることを覚えておく必要があります。 したがって、企業はソフトウェア、ハードウェア、およびネットワークを体系的にスキャンして新たな脆弱性を探し、発見して悪用する前にそれらを修正する必要があります。

米国政府のNationalVulnerabilityDatabase(NVD)が2022年の第1四半期に8,000を超える新しいエントリを公開したため、新しいセキュリティの脆弱性が急速に出現し続けています。システム。 ソフトウェアの脆弱性を調査したところ、2020年に発生した攻撃の75%が、少なくとも2年前のエクスポージャーを悪用し、18%が2013年に報告された弱点に依存していることが明らかになりました。

セキュリティの脆弱性はどのようにしてソフトウェアやネットワークに侵入しますか?

調査によると、ソフトウェアベンダーによって開発されたアプリケーションの75%は、Open Web Application Security Project(OWASP)のトップ10標準に準拠していません。 これらの標準は公開されています。 では、なぜこれほど多くの人がまだ安全なアプリケーションの作成に失敗しているのでしょうか。 主な理由は次のとおりです。

脆弱なサードパーティのコードおよびその他のコンポーネント。 サードパーティのコンポーネントを再利用することは、開発プロセスを大幅にスピードアップするため、一般的な方法です。 ただし、ユーザーはこれらのパーツのセキュリティを軽視する傾向があり、徹底的な評価なしに展開することがよくあります。 同じことが、安全性を評価せずに、StackOverflowなどのソースからコードをコピーして貼り付ける場合にも当てはまります。

安全でないコーディング慣行。 最近の調査によると、ほとんどの開発者にとってセキュリティは注目されていません。 1,200人の開発者の態度を調査した実験で、研究者は、コードを書く際の優先事項としてセキュリティを考えているのはわずか14%であると結論付けました。 また、多くの組織は、開発者に厳しい期限の下でコードを迅速に作成することを要求していることに注意してください。これは、徹底的なセキュリティ評価の余地を残さず、コードの脆弱性をもたらします。

急速に変化するサイバー攻撃の状況。 攻撃者は、アプリケーションのセキュリティを侵害する新しい方法を常に発見しています。 したがって、以前は免疫があると考えられていた部品が、今日では脆弱になる可能性があります。 ITチームがアプリケーションとネットワークの脆弱性を体系的に評価せず、すべてのソフトウェアを最新の状態に保てない場合、弱点が現れ始めるのは時間の問題です。

セキュリティ脆弱性タイプの分類

OWASPとCWEの2つのプラットフォームがあり、信頼性が高く詳細なセキュリティ脆弱性リストを提供します。 彼らはリストを更新して、新たな弱点を含めます。 どちらのリソースも、プログラマー、テスター、エンジニアの教育に使用できます。

OWASPは非営利のグローバルコミュニティであり、OWASPのソフトウェア脆弱性トップ10リストを定期的に公開しています。 Common Weakness Enumeration(CWE)は、専用のコミュニティによって開発されたソフトウェアとハ​​ードウェアの脆弱性の組み合わせであり、25のエントリが含まれています。

この記事で強調したい最も顕著なセキュリティの脆弱性の18を、ドメイン別に並べ替えて示します。 これらは、クラウド、IoTベースの構成、モバイルアプリなどのITシステムに現れる可能性があります。

1.強力な暗号化手法の欠如

暗号化によってサイバー攻撃が阻止されることはありませんが、ストレージプラットフォームが侵害された場合でも、機密データの安全性を確保することが不可欠です。 攻撃者は、暗号化されたデータをデコードするまで悪用することはできません。これにより、侵害されたビジネスに、影響を受ける当事者への通知や個人情報の盗難対策の準備など、必要な措置を講じる時間が与えられます。

調査によると、多くの企業はUSBスティック、ラップトップ、およびデスクトップ上のデータを暗号化する計画をすぐには持っていません。 また、データ保護規則について言えば、GDPRは暗号化を明示的に要求していませんが、データの安全性のための「適切な技術的および組織的対策」として説明しています。

IBMは、データ侵害のコストレポートで、暗号化がデータ侵害の平均コストを削減できる最も影響力のある要因の1つであると指摘しました。

2.機密データの公開

過失のある従業員がデータを公開データベースまたはWebサイトにアップロードすると、人為的エラーが原因でデータが公開される可能性があります。 ただし、このセキュリティの脆弱性タイプは、権限のない従業員が機密データにアクセスして操作できるようにする内部プロセスによってもサポートされます。

サイバーセキュリティ会社のEgressは、米国の組織の83%が、電子メール、ファイル共有、コラボレーションソフトウェア、およびメッセージングアプリを介して機密データを誤って公開したことを明らかにした調査を実施しました。

3.不十分なトランスポート層保護

このタイプの脆弱性は、クライアントとサーバーアプリケーション間の情報交換を扱います。 このような情報には、ユーザーの資格情報やクレジットカードの詳細などの機密データが含まれている可能性があります。 データ転送が保護されていない場合、通信が傍受される可能性があり、弱いアルゴリズムが使用されている場合、攻撃者はデータにアクセスして暗号化を解読する可能性があります。

4.システムコンポーネントの構成ミスと危険な相互作用

コンポーネントの誤った構成とコンポーネント間の相互作用は、私たちが頻繁に遭遇するもう1つのセキュリティ問題です。 たとえば、ITシステムのセットアップ中に、管理者はメーカーのデフォルト設定を上書きしてディレクトリリストを無効にすることを忘れ、システムを公開したままにします。 もう1つの例は、外部デバイスへのアクセスを制限するのを忘れていることです。

相互作用について言えば、アプリケーションがゼロトラストアプローチを採用し、正当であることが検証および証明される前に、すべての入力をリスクがあると見なすことをお勧めします。 これにより、攻撃者がアプリケーションに信頼できないデータを注入するクロスサイトスクリプティングなどの攻撃を回避できます。

この側面は、特にクラウドベースのソリューションに関連しています。 ある調査によると、サーバーの構成ミスが2年間で200件のクラウド侵害の原因となったとのことです。 別の調査によると、クラウドセキュリティ違反の約70%は、アーキテクチャの欠陥から始まります。 例として、誤って構成されたAWSストレージバケットは、2019年に米国で750,000の出生証明書アプリケーションを公開しました。

5.サーバー側の制御が弱い

このセキュリティの脆弱性の種類は、認証の不備から、一部のユーザーのブラウザがユーザーの知らないうちにサーバーに不正なアクションを発行するクロスサイトリクエストフォージェリなどの攻撃を可能にするセキュリティの設定ミスまで、サーバー側で問題が発生する可能性のあるすべてのものを表します。

たとえば、データベースサーバーの設定を誤ると、基本的なWeb検索でデータにアクセスできるようになる可能性があります。 また、管理者の資格情報が含まれている場合、侵入者はシステムの残りの部分にアクセスできます。

6.リモートでコードが実行される

これは、システムによって提示されるソフトウェアセキュリティの脆弱性により、侵入者がインターネットを介してデバイス上で悪意のあるコードを実行できることを意味します。 たとえば、従業員がサードパーティのWebサイトの電子メールリンクをクリックすると、この設定の背後にいるハッカーが被害者のコンピュータにマルウェアを注入し、そこから制御を引き継ぎます。 部外者は機密データにアクセスしたり、マシンをロックして身代金を要求したりできます。

7.既知のOSベースの脆弱性

すべてのオペレーティングシステムには、ソフトウェアの脆弱性のリストがあります。 一部のリストはオンラインで公開されており、誰でも見ることができます。 たとえば、Windows 10 OSの弱点トップ10のリストと、それに対応するOS Xのリストを次に示します。これらのポイントを確認して対処し、攻撃の可能性を最小限に抑えるのはセキュリティチームの責任です。

8.ウイルスチェックなしでスクリプトを実行する

これは、特定のWebブラウザに存在する一般的なセキュリティの脆弱性タイプです。 たとえば、Safariでは、明示的なユーザー権限なしで「信頼できる」スクリプトを実行できます。 ハッカーは、「安全な」スクリプトと混同される可能性のある悪意のあるコードを実行しようとすることで、この弱点を悪用する傾向があります。 幸いなことに、この「機能」を無効にすることはしばしば可能です。

9.弱い資格情報

侵入者は、ユーザーの資格情報をブルートフォースすることでアクセスできます。 これは、パスワード「123456」だけで2300万人以上が使用している場合に特に簡単です。 これは、「admin」、「password」、「qwerty」などのパスワードに追加されます。これらのパスワードも一般的で、ハッキングが簡単です。

この種のソフトウェアの脆弱性は人為的なものと見なされますが、企業は従業員に強力なオプションを選択させ、資格情報を頻繁に変更するように強制する対策を実装できます。 弱い資格情報がシステムセキュリティで果たす役割を考えると、これは非常に重要です。 統計によると、セキュリティ侵害の80%は弱いパスワードによって可能になり、ユーザーの61%は複数のサービスに1つのセキュリティフレーズを利用する傾向があります。

10.既知の脆弱性を持つコンポーネントの使用

ライブラリ、API、データセット、フレームワークなどのサードパーティコンポーネントを導入すると、システムを稼働させるために必要な労力を大幅に削減できます。 ただし、脆弱性が発生する可能性もあります。 機密データにアクセスするためにバックドアを開いたままにしないように、これらのコンポーネントを注意深く評価し、評価することが重要です。

サードパーティの画像をダウンロードして使用することでさえ危険な場合があります。 2021年には、ダウンロード量が2,000万のDocker Hubイメージが30個展開され、暗号化マルウェアが拡散しました。

11.安全でない設計

これは、2021年にOWASPに登場した比較的新しいセキュリティ脆弱性タイプです。組織は、最初から弱点を排除するために、安全な設計パターン、脅威モデリング、および参照アーキテクチャを求めています。

安全な設計は、脅威を絶えず評価し、コードの堅牢性を保証する方法論です。 既知の攻撃方法に対する体系的なテストを促進します。 セキュリティは、アドオンや便利な機能としてではなく、ソフトウェア開発の重要な部分と見なされています。

12.APIのセキュリティバグ

アプリケーションプログラミングインターフェイス(API)を使用すると、ソフトウェアコンポーネントが相互に対話できます。これは、ITシステムの重要な部分です。 ただし、セキュリティ対策が弱いAPIは、認証の失敗などの複数の抜け穴を開き、コードインジェクションやその他の悪意のある行為を許可する可能性があります。

たとえば、情報をユーザーに提示する前に情報をフィルタリングするためにクライアント側に依存する無謀に構築されたAPIは、データを公開して、データを取得できるようにすることができます。 機密データはサーバー側でフィルタリングする必要があります。 このセキュリティ脆弱性タイプの別の例を次に示します。APIが着信要求の数を制限しない場合、サービス拒否(DoS)攻撃の機会を開く可能性があります。

これは、考慮すべきAPI関連のセキュリティ脆弱性のトップ10のOWASPリストです。 安全でないAPIは、過去数年間に多くの攻撃への扉を開きました。 悪意のある攻撃者がプラットフォームの認証なしのAPIを使用して7億人のユーザーのデータをダウンロードしたため、悪名高い例の1つはLinkedInからのものです。 同様のAPI違反を使用して、侵入者は130万人のClubhouseユーザーに関する情報を取得し、ハッカーフォーラムに公開しました。

13.不十分な認証

弱い認証手段により、ハッカーは「パスワードを忘れた」オプションを悪用してアカウントをリセットしたり、アカウント乗っ取り攻撃を開始したりできます。 認証の質問がユーザーの誕生日やペットの名前のようなものである場合、これはソーシャルメディアのおかげで公開されている情報であるため、侵入者を支援します。 多要素認証プロセスに従うと、セキュリティが向上します。 悲しいことに、調査によると、この強力な認証方法を使用しているのは米国企業の26%にすぎません。

14.不十分な監視とログ

ログには、システムイベント、ネットワークアクティビティ、およびユーザーアクションに関するデータが保存されます。 ログを監視することで、セキュリティチームは最近発生したすべてのアクティビティを監視し、疑わしいイベントを特定できます。 ログが体系的にレビューされていない場合、これにより情報のギャップが生じ、ソフトウェアの脆弱性や悪意のあるアクティビティが検出されないままになります。

15.スーパーユーザー権限

ユーザーがアクセスできるデータが少なければ少ないほど、侵害された場合にアカウントが与える可能性のある損害は少なくなります。 ただし、一部の企業は依然としてスーパーユーザーの特権を左右に怠慢に付与しており、日常業務を遂行するために必要なものへの従業員のアクセスを制限していません。 侵入者が管理者レベルのアカウントを取得した場合、ウイルス対策ソフトウェアとファイアウォールを無効にしたり、有害なアプリをインストールしたり、ファイルの所有権を取得したりする可能性があります。

調査によると、データ侵害の74%は、特権クレデンシャルの悪用から始まります。

16.古いソフトウェア

ほとんどの企業は、タイムリーなソフトウェアアップデートが安全なシステムの鍵であることを認識しています。 ただし、実際にこの慣習に従っているのはごくわずかのようです。 Cyber​​newsは、ソフトウェアの更新頻度を調査した最近の調査について報告しています。 この調査は18か月にわたって実施され、調査したWebサイトの95%が、既知の脆弱性を持つ古いソフトウェアで実際に実行されていることがわかりました。 調査チームはまた、平均的なソフトウェア製品が最新のパッチよりも通常4年遅れていることを発見しました。

さらに、Kasperskyは、古いソフトウェアを実行している企業は、違反が発生した場合に47%多くのコストが発生する可能性があると判断しました。

例を挙げると、マリオットホテルチェーンでは、パッチが適用されていないソフトウェアに起因するセキュリティ違反で5億件のデータレコードが侵害されていました。

17.ソースコードの脆弱性

コードの脆弱性は、ソフトウェア開発中に忍び寄ります。 たとえば、プログラムが暗号化せずに機密データを送信したり、実際にはランダムではないランダム化された文字列を使用したりする場合があります。 このようなエラーは、ソフトウェアのテスト段階で頻繁に検出されます。

最近のSecureCodeWarrior Surveyによると、参加している開発者の86%は、コードを作成する際にアプリケーションのセキュリティを最優先事項とは見なしていないことを認めており、36%がこれを厳しい期限に起因しています。 調査では、回答者の33%が、コードが脆弱になる理由さえ理解していないことも明らかになりました。

18.SQLインジェクション

このセキュリティの脆弱性の種類は、Structured Query Language(SQL)を利用したWebサイトおよびアプリケーションに関連しています。 これにより、攻撃者はユーザー提供のSQLステートメントを変更し、インタープリターをだまして意図しないコマンドを実行し、データベースへのアクセスを許可することができます。 このように、侵入者は機密フィールドを置換/削除/変更することで機密データを操作できます。

これはかなり古い脆弱性であり、2019年にすでにソフトウェアアプリへの攻撃の65%以上を占めていました。

システム固有のセキュリティの脆弱性の種類、およびこれらのソフトウェアの脆弱性を防ぐ方法

一般的なセキュリティの脆弱性を強調した後、アプリケーションとシステム固有の弱点に移り、それらからシステムを保護する方法を見つけましょう。

クラウド

Azure、AWS、GCP、またはその他のクラウドプロバイダーに関係なく、クラウドで発生する可能性のあるセキュリティの脆弱性の種類の広範なリストがあります。 クラウドの専門家であるAlexeyZhadovは、これらの脆弱性をレイヤーごとに分類し、それらを防ぐためのヒントを提供します。

システムレイヤーの脆弱性

ソフトウェアが実行されているクラウドサービスが何であれ、内部には常にオペレーティングシステムがあります。 リソースのコントロールパネルにしかアクセスできない場合でも。 すべてのオペレーティングシステムには、「穴」と「バックドア」があります。 OS開発者は常にこれらの弱点を探し、基盤をカバーしようとしています。 そのため、ソフトウェアを最新の状態に保ち、既知の問題についてサイバーセキュリティ分野の最新の開発に連絡することが重要です。

ネットワーク層の脆弱性

すべてのクラウドリソースはクラウドネットワーク上で実行されています。 これにより、外部からリソースに接続できるようになります。 セキュリティチームは、ネットワーク構成が適切であることを確認する必要があります。 展開する予定のないポートは絶対に開かないでください。既知のIPと、ソリューションに接続することが期待されるネットワークのホワイトリストを使用してください。 既知のIP以外の場所からRDP/SSHポートへの直接接続を開く場合は注意が必要です。

構成レイヤーの脆弱性

クラウドは、ユーザーの要件と目標に従って適切に構成する必要があり、この構成は常に最新の状態に維持する必要があります。 構成管理のポリシーと手順を設定し、疑わしいアクティビティを監視します。

人的要因の脆弱性

クラウドソリューションにアクセスできるエンドユーザーと管理者を忘れないでください。 アカウントの乗っ取りは、ITシステムで最も一般的な弱点の1つです。 侵入者が誰かのアカウント資格情報にアクセスした場合、侵入者はアカウントの権限の範囲内でシステムに自由に侵入して操作でき、ハッキングされたユーザーからの通知を受け取るまで誰もそれらを停止しません。 クラウドアプリケーションのセキュリティの脆弱性の最も一般的なタイプのリストは次のとおりです。

  • 誤って構成されたネットワークとファイアウォール
  • 誤って構成されたクラウドストレージ
  • 安全でないAPI
  • 不十分なアクセス管理
  • アカウントの乗っ取り
  • 悪意のあるインサイダー
  • システムの脆弱性
  • 共有テナンシーの脆弱性
  • ネットワークに参加したいユーザーとデバイスの多要素認証の欠如

Alexeyは、企業がクラウドシステムを保護するために実装できるいくつかの簡単なルールを推奨しています。

  • オペレーティングシステムを最新の状態に保つ
  • ネットワークを保護する
  • 要塞サーバーを使用して、閉じた境界にアクセスします
  • ネットワークセキュリティグループとアクセス制御リストを構成する
  • 不要なポートへのアクセスを制限する
  • 可能な場合は監視とロギングを構成する
  • すべてのユーザーに多要素アクセス制御を実装する
  • ファイアウォールとDDoS保護を使用する
  • クラウドツールを使用して、AzureSecurityCenterなどのセキュリティ標準への準拠を確認します

Webアプリケーション

Alexeyは、Webアプリケーションに悩まされているソフトウェアセキュリティの問題についても検討しました。 攻撃者はこれらの脆弱性を悪用することにより、アプリケーションと組織全体に深刻な損害を与える可能性があります。 Webアプリのセキュリティの脆弱性に起因する最も一般的なWebアプリの攻撃は次のとおりです。

  • SQLインジェクション
  • クロスサイトスクリプティング
  • パストラバーサル
  • リモートコマンド実行

サイバー犯罪者がこれらの攻撃を正常に開始すると、マルウェアを仕掛けたり、ユーザーアカウントを侵害したり、制限された情報にアクセスしたりする可能性があります。 では、ソフトウェアの脆弱性をテストする方法は? Alexeyは、次のパラメータを評価するためにWebアプリケーションのセキュリティテストを実施することをお勧めします。

  • 入力検証。 アプリケーションはどのように入力を処理でき、悪意のあるエントリを見つけてブロックできますか?
  • サーバー構成。 強力な暗号化方式を使用していますか?
  • 認証管理。 どのタイプの承認が実施されますか? ユーザーは弱いパスワードを選択できますか?
  • 承認オプション。 アプリは特権のエスカレーションから自分自身を保護できますか?
  • ビジネスの論理。 ユーザーは無効なデータを挿入できますか? 認証手順をスキップできますか? ユーザーがアプリとそのデータの整合性を損なう可能性はありますか?

モバイルアプリケーション

モバイルアプリのセキュリティについて言えば、アプリケーションに加えてデバイス自体によって提示されるセキュリティの脆弱性の種類を無視することはできません。 クラウドとモバイルのエキスパートであるAlexeyZhadovも、モバイルアプリに影響する一般的な問題を共有しました。

  • 弱いサーバー側の制御
  • 安全でないデータストレージ
  • 不十分なトランスポート層保護
  • 意図しないデータ漏洩
  • 不十分な承認と認証
  • 不十分な暗号化
  • クライアント側の注入
  • 信頼できない入力
  • 不適切なセッション処理
  • バイナリ保護の欠如
  • OSの不適切な使用
  • 安全でないトラフィックとAPI呼び出し
  • コードの改ざんとジェイルブレイクされたデバイス
  • 不十分なロギングとモニタリング
  • セキュリティの設定ミス

モバイルアプリケーションを保護するために、Alexeyは、企業がアプリの設計と保守に実装できるいくつかの簡単な方法を推奨しています。

オープンソースコードの評価:ほとんどのモバイルアプリケーションは、誰もが利用できるオープンソースのサードパーティライブラリを使用しています。 これにより、開発プロセスが合理化されますが、潜在的な侵入者のバックドアも開かれます。 そのため、サードパーティのコードをアプリに組み込む前に、ソフトウェアのセキュリティの脆弱性を厳密にテストする必要があります。

強力な暗号化手法:転送中にデータを暗号化および復号化します。 強力なデータ暗号化技術、ソースコード、ユーザー情報、ログイン資格情報などのアプリケーションデータを使用して、アプリのストレージを保護します。 データが暗号化されると、ハッカーは元のコンテンツにアクセスできたとしても、データを解釈できなくなります。

コード署名証明書:開発者はモバイルアプリケーションに署名して、サイバー攻撃から保護し、ユーザーの信頼を得ることができます。 このような署名は、アプリに署名した後にコードが解釈または変更されていないことを保証します。 セキュリティチームは、手頃な価格でいくつかのコード署名証明書オプションを見つけることができます。 この方法は、費用効果が高く、信頼性があります。

データキャッシュ保護:キャッシュされたデータには、アプリから取得した情報が含まれており、アプリのパフォーマンスを向上させるために、より高速に再度開くことができます。 データキャッシュは通常、ユーザーのデバイスに追加のセキュリティ対策なしで保存されます。 パスワードを生成してアプリケーションをロックする方が安全です。 さらに、Alexeyは、キャッシュされたデータを頻繁にクリアし、安全なネットワーク接続を使用してログインすることをお勧めします。

安全なデータストレージ:各アプリケーションには、侵入者が悪用する可能性のあるデータが含まれています。 これには、ユーザーとアプリ開発者の両方の情報が含まれます。 したがって、ローカルストレージユニットに依存するのではなく、このデータを安全なクラウドストレージに安全に保存することが不可欠です。

認証と承認の手法:データの盗難を防ぐために、多要素認証を設定することが不可欠です。 これには、ユーザーID、パスワード、PIN、OTPなどが含まれます。認証されたユーザーの役割と権限を確認するために、承認は常にサーバー側で行う必要があります。

データワイプとデバイスロック:この機能は主に、個人情報、財務情報、健康情報などの機密データを含むアプリケーションで使用されます。これは、ユーザー側からのログイン試行が数回失敗した後にリモートデータがワイプされるセキュリティレイヤーです。アプリケーションは自動的にロックされます。 また、ユーザーが大文字、特殊文字、アルファベット、数字などの代わりにパスワードの連番を選択することも禁止されています。

リバースエンジニアリングの対抗策:ハッカーはリバースエンジニアリングを使用して、アプリケーションの機能を改ざんします。 ハッカーは、アプリのソースコードにアクセスすることで、認証プロセスを回避し、場所を偽造してデータを盗むことができます。 リバースエンジニアリングに対抗するには、実行時のセキュリティを強化することが最も重要です。 コード構造を変更してアプリケーションの動作に影響を与えることにより、侵入者がアプリの内部機能を変更するのを防ぎます。

IoTソリューション

セキュリティの観点からIoTソリューションをユニークにしているのは、すべてのデバイスの機能がその使用要件によって制限されていることです。 IoTデバイスを脆弱にする、余分な容量、メモリ、または電力を消費する高度なセキュリティ機能を実装する余地はありません。

IoTの専門家であるYahorPaloikaは、接続されたデバイスにおける次のセキュリティ脆弱性タイプを強調しています。

  • ハードコードされた資格情報。 IoTデバイスには、管理者が変更を忘れることがあるハードコードされたパスワードが付属しているため、ハッカーはこれらのよく知られた資格情報を使用してシステムに簡単に侵入できます。
  • 保護されていないネットワーク。 一部のネットワークは強力な認証を実施しないため、侵入者はデバイスを追加したり、セットアップを再構成してデータフローを変更したり、データを傍受したり、センサーの読み取り値を模倣するために独自のデータを挿入したりできます。
  • 弱い更新管理。 多くのIoTデバイスは独立して動作し、更新を実行するために人間の干渉に依存しません。 この場合、更新管理システムは、自動更新が暗号化されたチャネルを介して到着し、検証されたソースから発信され、破損していないことを確認する責任があります。 このようなシステムが脆弱な場合、侵入者が更新されたソフトウェアとファームウェアを破壊し、デバイスの動作を変更する可能性があります。
  • 古いコードモジュール。 使用されなくなった古いモジュールを排除することを忘れると、ハッカーはソフトウェアのセキュリティ問題を調査し、システムに侵入するための抜け穴を見つけるのに十分な時間を得ることができます。 接続されたデバイスの機能の一部ではないすべてのモジュールを削除する必要があります。
  • データ保護。 IoTネットワーク内を循環するすべてのデータは暗号化する必要があり、許可されたユーザーのみがアクセスできます。

IoTシステムへのハッキングは、壊滅的な影響を与える可能性があります。 たとえば、実験では、研究者のチームがジープチェロキーのIoTデバイスのソフトウェアに侵入し、ジープのエンターテインメントシステムを介して悪意のあるコマンドを送信する可能性があります。 彼らはエアコンを改ざんし、温度を下げ、フロントガラスをオンにし、その後、運転手の恐怖に、ブレーキを無効にしました。 幸いなことに、それは単なる実験でした。 YahorがIoTシステムを保護するために推奨するいくつかのヒントを次に示します。

  • トランスポート層セキュリティ(TLS)などの既存のセキュリティ集約型暗号化プロトコルを使用して、IoTネットワークでの通信をサポートし、組み込みのセキュリティの欠如を補います
  • 必要な暗号化とセキュリティレベルを提供する、最新の統合されたキーと証明書の管理サブシステムがあります。 また、Yahorは、少なくとも6か月に1回はキーと証明書を更新することをお勧めします
  • 信頼性の高いパスワード管理システムを導入して、強力なパスワードを生成し、体系的に変更します
  • 正当なソースからの安全な更新のみが通過できるようにする更新管理システムを実装し、破損した変更を強制する試みをブロックします

AIソリューション

人工知能(AI)および機械学習(ML)ソリューションを、この記事で説明した他のシステムと大幅に区別する1つの側面があります。このようなモデルは、予測を行うためにトレーニングされることが多く、このトレーニングプロセスでは、いくつかの側面が導入されます。セキュリティの脆弱性の種類。 AIの専門家であるMaksymBochokは、最も一般的な弱点を強調しました。

  • 攻撃者はトレーニングデータセットを改ざんし、モデルに偽のルールを学習させ、誤った予測を行う可能性があります
  • MLエンジニアは、オンラインで見つけた既存の事前トレーニング済みモデルを選択する可能性があり、これらのモデルはすでに悪意のあるものである可能性があります。 たとえば、トロイの木馬ウイルスやその他のマルウェアが含まれている可能性があります。
  • 侵入者はアルゴリズム自体を入手し、コード、重み、およびその他のパラメーターを調整して、モデルの動作を変更できます。

さらに、AIは、IoTやクラウドなどの他のテクノロジーと組み合わされることが多く、これらのシステムによって導入されるセキュリティの脆弱性タイプの影響を受けやすくなっています。

AIシステムを保護するために、専門家は次のことを推奨しています。

  • 事前にトレーニングされたモデルと外部データセットを使用する場合は、マルウェアが含まれていないことを確認してください
  • アルゴリズムを体系的にテストして、目的の出力を確認し、一致するルールを改ざんしたり、バイアスを導入したりしていないことを確認します。
  • データのドリフト(入力データの変化)を監視する
  • 侵入者が潜在的に危険なデータを挿入してモデルを目的の出力に歪める可能性があるため、外れ値を検出します
  • トレーニングデータセットで考えられる外れ値を検索します
  • Counterfitなどの一般的なAIセキュリティ評価ツールを使用します。 これは、アルゴリズムの信頼性と堅牢性を確保するのに役立ちます。
  • 既存のデータ保護ツールを活用し、保存および使用時に機密データを保護します。 一例は、外部ファイアウォールとして機能できるImpervaツールです。

最後に

あなたが成功したビジネスである場合、誰かが身代金を要求するか、評判の低下を引き起こすためにあなたのシステムに侵入しようとしている/試みている可能性が高いです。 また、ハッカーは悪用する抜け穴を常に探しているため、ITチームはリスクの軽減に取り組んでいます。 このレースに確実に勝つために、経験豊富なセキュリティおよびテスト会社に相談して、システムの状態を評価し、改善方法に関する推奨事項を提供してください。

それまでの間、さまざまな種類のセキュリティ脆弱性がアプリケーションを公開するのを防ぐために、システムの構成に注意を払い、すべてのソフトウェアが最新であることを確認し、安全な方法について従業員をトレーニングしてください。

既存のシステムのセキュリティについて疑問がありますか? または、セキュリティを念頭に置いてアプリケーションを構築したいですか? ITRexチームに連絡してください! 当社のセキュリティ専門家がハードウェアとソフトウェアの脆弱性をテストし、改善を提案します。


もともとは2022年7月6日にhttps://itrexgroup.comで公開されました。