
コーダーズ・コンカーズ・コンカー・セキュリティ:シェア&ラーニング・シリーズ-無制限のファイルアップロード
Unrestricted File Uploadsの問題は、攻撃そのものではなく、攻撃者がアプリケーションやネットワークリソースに簡単にアクセスできる一般的な状況または状態です。寒い中、濡れた服を着て歩き回るようなものだと考えてください。そうするだけでは、必ずしも病気になるわけではありませんが、抵抗力が低下し、日和見ウイルスが体の防御を簡単に圧倒してしまうほどです。
サイバーセキュリティでは、攻撃者は無制限のファイルアップロードをサポートすることが許可されているアプリケーションやプログラムをすぐに悪用できます。そして、その結果は壊滅的なものになる可能性があります。巧妙な攻撃者は、制限のないアクセスを利用して、悪意のあるファイルをアップロードしたり、スクリプトを設定して認証情報を盗んだり、アプリケーション自身の権限を使ってネットワークへのより深い攻撃を仕掛けたりすることができます。比較的経験の浅い攻撃者でも、この種の自由なアクセスを利用して DoS 攻撃(サービス拒否攻撃)を実行したり、アプリケーションをクラッシュさせたりする可能性があります。
ありがたいことに、無制限のファイルアップロードの問題を解決して、攻撃者になりそうな人を阻止する方法はたくさんあります。そのために、無制限ファイルアップロードの主な 3 つの側面について説明します。
- その仕組み
- なぜ彼らはそんなに危険なのか
- それらを阻止するための防御策を講じる方法。
攻撃はどのようにして無制限のファイルアップロードを悪用するのか?
サイトが一般ユーザーにファイルのアップロードを許可したい理由はたくさんあります。おそらく、ある企業が人材の採用を検討していて、応募プロセスの一環として履歴書をアップロードできるようにしたいと考えているのでしょう。銀行は、ローンや新規口座の申請時など、重要な書類を自宅で記入するよう顧客に勧めることがあります。観光サイトやソーシャルメディアサイトでは、他の人と共有するために写真をアップロードするようユーザーに勧める場合があります。
ファイルのアップロードを許可する正当な理由はたくさんあります。そしてデフォルトでは、ほとんどの新しいアプリケーションでは、制限なくあらゆる種類のファイルのアップロードが許可されるでしょう。問題は、潜在的な攻撃者がこれらのアップロードに制限が設けられていないことに気付いたときから始まります。
アップロードに制限がないと、サイトは3種類の攻撃を受けることになります。悪意のあるユーザーは、最低レベルの攻撃から始め、数百ギガバイトの情報を含む圧縮アーカイブなどの巨大なファイルを簡単にアップロードできます。これにより、帯域幅が制限されるだけでなく、アプリケーションに割り当てられたストレージ領域が過負荷になる可能性があります。
悪名高い次は、ウイルスなどの悪意のあるファイル、あるいはランサムウェアのようなもっと邪悪なファイルをアップロードするユーザーです。これは、特に吸血鬼を家に招待しなければならないという昔からの迷信のようなものです。誰でも自由に入ることができると書かれた看板を掲げていると、まるで無制限にファイルをアップロードできるようなものです。ドアから入ってくるものをコントロールすることはできなくなり、すべての訪問者やファイルが無害になるわけではないことを想定しておくべきでしょう。中にはモンスターもいるかもしれません。
最後に、熟練した攻撃者は無制限のアップロードを利用して、より深い攻撃を仕掛けるネットワークへの足がかりを得ることができます。アップロードできる内容には制限がないため、攻撃者はそのプロセスを通じて自分の Web シェルを送信できます。その後、シェルにコマンドを送信すると、そのコマンドはアプリケーションと同じ権限レベルでサーバー上で実行されます。
無制限のファイルアクセスはなぜそれほど危険なのでしょうか?
無制限のファイルアクセスでアプリケーションをデプロイすることはすぐには危険ではありませんが、基本的にはサイバーセキュリティ防御に穴を開け、組織を攻撃するように誰かを誘うようなものです。遅かれ早かれ、誰かが反応するでしょう。
最も基本的なレベルでは、攻撃者は大混乱を引き起こすのにそれほどスキルを必要としません。非常に大きなファイルを圧縮してアップロードするだけで、有効なユーザーへのサービスを拒否できる可能性があります。時間の経過とともに、アプリケーションのプログラミングとネットワーク接続方法によっては、アプリケーションやサイト全体がクラッシュする可能性もあります。
無制限のファイルアクセスがあると、ネットワークのファイアウォールやその他の保護機能が侵害される可能性もあります。攻撃者がマルウェアをコアネットワークに直接アップロードする経路を作っていれば、受信メールや従業員のウェブ閲覧アクティビティをスキャナーで監視していても問題ありません。マルウェアはアプリケーションをクラッシュさせたり、実行中のサーバーをクラッシュさせたりする可能性がありますが、それがおそらく最善の結果です。最悪のシナリオでは、ランサムウェアのような真に悪意のあるプログラムが、侵入したサーバーを利用してネットワーク全体に拡散する可能性があります。
スキルの高い攻撃者が、無制限のファイルアクセスを持つアプリケーションを悪用しても、おそらくそれほど目立たないでしょう。その代わり、攻撃者はこの脆弱性を利用してアプリケーションを侵害し、それを利用してネットワークの奥深くまで侵入し、ゆっくりと動き回り、検出を回避しようとする可能性があります。そのためには、Web シェルやその他の.exe 形式のファイルをアップロードし、そのファイルに到達したら直接コマンドを送信します。シェルを介してユーザーが実行する操作は、通常、それをホストしているアプリケーションに設定されている権限レベルを使用してサーバーによって実行されます。サーバーにとっては、これらのコマンドはアプリケーションから送られてくるので、これ以上確認したり調べたりすることはまずありません。
これらすべてにより、無制限のファイルアクセスの脆弱性は、ネットワーク上で最も危険な脆弱性の1つとなっています。問題はおそらく、それが問題を引き起こすかどうかではなく、いつ引き起こされるかが問題でしょう。
無制限ファイルアクセスの脆弱性を排除するにはどうすればいいですか?
では、制限のないファイルアクセスの問題を解決するにはどうすればよいでしょうか。最も簡単な方法は、アップロードできるファイルの種類に 1 つまたは複数の制限を追加することです。たとえば、サイトでは Word ファイルまたはテキストファイルのみを受け付けるようにしたり、画像共有サイトの場合は.jpgs または.gifs のみを許可するように伝えたりするなど、必要に応じてユーザーに伝えることができます。バックエンドでは、許可するファイル拡張子のホワイトリストを作成し、それ以外はすべて拒否する必要があります。ファイル名の最大長にも制限を設ける必要があります。ファイル名に特殊文字が含まれていると、実行可能なコマンドを起動しようとした可能性がある場合も、同様に拒否する必要があります。
ファイルタイプと命名規則に加えて、各ファイルの最大サイズも制限する必要があります。最大サイズは、アプリケーションが収集すると予想されるファイルの種類に適したサイズにする必要があります。つまり、Word ファイルの上限は 10 メガバイト程度、グラフィックファイルの場合はそれより少し大きい (おそらく 50 メガバイト程度) ということになります。最小ファイルサイズのルールを設定することもできますが、ユーザーが特定のフォームに入力してアップロードする場合など、想定されるファイルのサイズ範囲がわかっている場合に限ります。
攻撃者は依然として、シェルやその他の潜在的に悪意のあるプログラムを、ファイルの種類やサイズの制限を超えてこっそり侵入する巧妙な方法を見つける可能性があります。これを補うため、収集したファイルは常に実行権限のないプライベートディレクトリに保存する必要があります。セキュリティ強化のため、システムによってファイルの名前をランダムな文字に変更できます。これにより、ネットワーク外の権限のないユーザーがアップロードしたファイルの場所を検索するのを防ぎ、ネットワークをある程度偵察できる可能性があります。ただし、その場合は、ランダムファイル名を元の指定にリンクするテーブルを設定して管理する必要があるでしょう。
最後に、アップロードによってネットワークに到着したものはすべて、組織がそれらのタスクに使用する防御プログラムによってマルウェアやウイルスをスキャンする必要があります。この方法ですべてが検出されるわけではありませんが、ファイルのアップロードによって侵入しようとする最も一般的な悪質なファイルの最大 90% 以上を検出するために使用できる重要なセキュリティ層です。
無制限ファイルアップロード問題の制限
バックエンドに複数のセキュリティレイヤーが導入されると、無制限のファイルアップロードの問題は問題ではなくなります。基本的に、ファイルのアップロードに制限を設けることでこの問題は解消され、制限が解除されなくなります。中に入れられるのは善良なファイルのみで、吸血鬼やマルウェアはすべて冷たいところに置き去りにされています。
詳細については、OWASP無制限ファイルアップロードをご覧ください 予防チートシートでは、このような状況がネットワークで許容される場合に発生する可能性のある問題のいくつかを概説しています。また、新しく身につけた防御知識を、で試すこともできます。 無料ショーケース サイバーセキュリティチームが究極のサイバー戦士になるためのトレーニングを行うSecure Code Warriorプラットフォームの。この脆弱性を打ち負かす方法や、その他の脅威を集めた不正行為のギャラリーについて詳しくは、 セキュア・コード・ウォリアーのブログ。
この脆弱性に対処する準備はできていると思いますか?戦場に出て自分のスキルを試そう:


サイバーセキュリティでは、攻撃者は無制限のファイルアップロードをサポートすることが許可されているアプリケーションやプログラムをすぐに悪用できます。そして、その結果は壊滅的なものになる可能性があります。
Jaap Karan Singhは、セキュア・コーディング・エバンジェリストであり、チーフ・シンであり、セキュア・コード・ウォリアーの共同創設者です。

Secure Code Warriorは、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする文化を築くお手伝いをします。アプリケーションセキュリティマネージャー、開発者、CISO、またはセキュリティ関係者であるかに関わらず、安全でないコードに関連するリスクを軽減するお手伝いをします。
デモを予約Jaap Karan Singhは、セキュア・コーディング・エバンジェリストであり、チーフ・シンであり、セキュア・コード・ウォリアーの共同創設者です。


Unrestricted File Uploadsの問題は、攻撃そのものではなく、攻撃者がアプリケーションやネットワークリソースに簡単にアクセスできる一般的な状況または状態です。寒い中、濡れた服を着て歩き回るようなものだと考えてください。そうするだけでは、必ずしも病気になるわけではありませんが、抵抗力が低下し、日和見ウイルスが体の防御を簡単に圧倒してしまうほどです。
サイバーセキュリティでは、攻撃者は無制限のファイルアップロードをサポートすることが許可されているアプリケーションやプログラムをすぐに悪用できます。そして、その結果は壊滅的なものになる可能性があります。巧妙な攻撃者は、制限のないアクセスを利用して、悪意のあるファイルをアップロードしたり、スクリプトを設定して認証情報を盗んだり、アプリケーション自身の権限を使ってネットワークへのより深い攻撃を仕掛けたりすることができます。比較的経験の浅い攻撃者でも、この種の自由なアクセスを利用して DoS 攻撃(サービス拒否攻撃)を実行したり、アプリケーションをクラッシュさせたりする可能性があります。
ありがたいことに、無制限のファイルアップロードの問題を解決して、攻撃者になりそうな人を阻止する方法はたくさんあります。そのために、無制限ファイルアップロードの主な 3 つの側面について説明します。
- その仕組み
- なぜ彼らはそんなに危険なのか
- それらを阻止するための防御策を講じる方法。
攻撃はどのようにして無制限のファイルアップロードを悪用するのか?
サイトが一般ユーザーにファイルのアップロードを許可したい理由はたくさんあります。おそらく、ある企業が人材の採用を検討していて、応募プロセスの一環として履歴書をアップロードできるようにしたいと考えているのでしょう。銀行は、ローンや新規口座の申請時など、重要な書類を自宅で記入するよう顧客に勧めることがあります。観光サイトやソーシャルメディアサイトでは、他の人と共有するために写真をアップロードするようユーザーに勧める場合があります。
ファイルのアップロードを許可する正当な理由はたくさんあります。そしてデフォルトでは、ほとんどの新しいアプリケーションでは、制限なくあらゆる種類のファイルのアップロードが許可されるでしょう。問題は、潜在的な攻撃者がこれらのアップロードに制限が設けられていないことに気付いたときから始まります。
アップロードに制限がないと、サイトは3種類の攻撃を受けることになります。悪意のあるユーザーは、最低レベルの攻撃から始め、数百ギガバイトの情報を含む圧縮アーカイブなどの巨大なファイルを簡単にアップロードできます。これにより、帯域幅が制限されるだけでなく、アプリケーションに割り当てられたストレージ領域が過負荷になる可能性があります。
悪名高い次は、ウイルスなどの悪意のあるファイル、あるいはランサムウェアのようなもっと邪悪なファイルをアップロードするユーザーです。これは、特に吸血鬼を家に招待しなければならないという昔からの迷信のようなものです。誰でも自由に入ることができると書かれた看板を掲げていると、まるで無制限にファイルをアップロードできるようなものです。ドアから入ってくるものをコントロールすることはできなくなり、すべての訪問者やファイルが無害になるわけではないことを想定しておくべきでしょう。中にはモンスターもいるかもしれません。
最後に、熟練した攻撃者は無制限のアップロードを利用して、より深い攻撃を仕掛けるネットワークへの足がかりを得ることができます。アップロードできる内容には制限がないため、攻撃者はそのプロセスを通じて自分の Web シェルを送信できます。その後、シェルにコマンドを送信すると、そのコマンドはアプリケーションと同じ権限レベルでサーバー上で実行されます。
無制限のファイルアクセスはなぜそれほど危険なのでしょうか?
無制限のファイルアクセスでアプリケーションをデプロイすることはすぐには危険ではありませんが、基本的にはサイバーセキュリティ防御に穴を開け、組織を攻撃するように誰かを誘うようなものです。遅かれ早かれ、誰かが反応するでしょう。
最も基本的なレベルでは、攻撃者は大混乱を引き起こすのにそれほどスキルを必要としません。非常に大きなファイルを圧縮してアップロードするだけで、有効なユーザーへのサービスを拒否できる可能性があります。時間の経過とともに、アプリケーションのプログラミングとネットワーク接続方法によっては、アプリケーションやサイト全体がクラッシュする可能性もあります。
無制限のファイルアクセスがあると、ネットワークのファイアウォールやその他の保護機能が侵害される可能性もあります。攻撃者がマルウェアをコアネットワークに直接アップロードする経路を作っていれば、受信メールや従業員のウェブ閲覧アクティビティをスキャナーで監視していても問題ありません。マルウェアはアプリケーションをクラッシュさせたり、実行中のサーバーをクラッシュさせたりする可能性がありますが、それがおそらく最善の結果です。最悪のシナリオでは、ランサムウェアのような真に悪意のあるプログラムが、侵入したサーバーを利用してネットワーク全体に拡散する可能性があります。
スキルの高い攻撃者が、無制限のファイルアクセスを持つアプリケーションを悪用しても、おそらくそれほど目立たないでしょう。その代わり、攻撃者はこの脆弱性を利用してアプリケーションを侵害し、それを利用してネットワークの奥深くまで侵入し、ゆっくりと動き回り、検出を回避しようとする可能性があります。そのためには、Web シェルやその他の.exe 形式のファイルをアップロードし、そのファイルに到達したら直接コマンドを送信します。シェルを介してユーザーが実行する操作は、通常、それをホストしているアプリケーションに設定されている権限レベルを使用してサーバーによって実行されます。サーバーにとっては、これらのコマンドはアプリケーションから送られてくるので、これ以上確認したり調べたりすることはまずありません。
これらすべてにより、無制限のファイルアクセスの脆弱性は、ネットワーク上で最も危険な脆弱性の1つとなっています。問題はおそらく、それが問題を引き起こすかどうかではなく、いつ引き起こされるかが問題でしょう。
無制限ファイルアクセスの脆弱性を排除するにはどうすればいいですか?
では、制限のないファイルアクセスの問題を解決するにはどうすればよいでしょうか。最も簡単な方法は、アップロードできるファイルの種類に 1 つまたは複数の制限を追加することです。たとえば、サイトでは Word ファイルまたはテキストファイルのみを受け付けるようにしたり、画像共有サイトの場合は.jpgs または.gifs のみを許可するように伝えたりするなど、必要に応じてユーザーに伝えることができます。バックエンドでは、許可するファイル拡張子のホワイトリストを作成し、それ以外はすべて拒否する必要があります。ファイル名の最大長にも制限を設ける必要があります。ファイル名に特殊文字が含まれていると、実行可能なコマンドを起動しようとした可能性がある場合も、同様に拒否する必要があります。
ファイルタイプと命名規則に加えて、各ファイルの最大サイズも制限する必要があります。最大サイズは、アプリケーションが収集すると予想されるファイルの種類に適したサイズにする必要があります。つまり、Word ファイルの上限は 10 メガバイト程度、グラフィックファイルの場合はそれより少し大きい (おそらく 50 メガバイト程度) ということになります。最小ファイルサイズのルールを設定することもできますが、ユーザーが特定のフォームに入力してアップロードする場合など、想定されるファイルのサイズ範囲がわかっている場合に限ります。
攻撃者は依然として、シェルやその他の潜在的に悪意のあるプログラムを、ファイルの種類やサイズの制限を超えてこっそり侵入する巧妙な方法を見つける可能性があります。これを補うため、収集したファイルは常に実行権限のないプライベートディレクトリに保存する必要があります。セキュリティ強化のため、システムによってファイルの名前をランダムな文字に変更できます。これにより、ネットワーク外の権限のないユーザーがアップロードしたファイルの場所を検索するのを防ぎ、ネットワークをある程度偵察できる可能性があります。ただし、その場合は、ランダムファイル名を元の指定にリンクするテーブルを設定して管理する必要があるでしょう。
最後に、アップロードによってネットワークに到着したものはすべて、組織がそれらのタスクに使用する防御プログラムによってマルウェアやウイルスをスキャンする必要があります。この方法ですべてが検出されるわけではありませんが、ファイルのアップロードによって侵入しようとする最も一般的な悪質なファイルの最大 90% 以上を検出するために使用できる重要なセキュリティ層です。
無制限ファイルアップロード問題の制限
バックエンドに複数のセキュリティレイヤーが導入されると、無制限のファイルアップロードの問題は問題ではなくなります。基本的に、ファイルのアップロードに制限を設けることでこの問題は解消され、制限が解除されなくなります。中に入れられるのは善良なファイルのみで、吸血鬼やマルウェアはすべて冷たいところに置き去りにされています。
詳細については、OWASP無制限ファイルアップロードをご覧ください 予防チートシートでは、このような状況がネットワークで許容される場合に発生する可能性のある問題のいくつかを概説しています。また、新しく身につけた防御知識を、で試すこともできます。 無料ショーケース サイバーセキュリティチームが究極のサイバー戦士になるためのトレーニングを行うSecure Code Warriorプラットフォームの。この脆弱性を打ち負かす方法や、その他の脅威を集めた不正行為のギャラリーについて詳しくは、 セキュア・コード・ウォリアーのブログ。
この脆弱性に対処する準備はできていると思いますか?戦場に出て自分のスキルを試そう:

Unrestricted File Uploadsの問題は、攻撃そのものではなく、攻撃者がアプリケーションやネットワークリソースに簡単にアクセスできる一般的な状況または状態です。寒い中、濡れた服を着て歩き回るようなものだと考えてください。そうするだけでは、必ずしも病気になるわけではありませんが、抵抗力が低下し、日和見ウイルスが体の防御を簡単に圧倒してしまうほどです。
サイバーセキュリティでは、攻撃者は無制限のファイルアップロードをサポートすることが許可されているアプリケーションやプログラムをすぐに悪用できます。そして、その結果は壊滅的なものになる可能性があります。巧妙な攻撃者は、制限のないアクセスを利用して、悪意のあるファイルをアップロードしたり、スクリプトを設定して認証情報を盗んだり、アプリケーション自身の権限を使ってネットワークへのより深い攻撃を仕掛けたりすることができます。比較的経験の浅い攻撃者でも、この種の自由なアクセスを利用して DoS 攻撃(サービス拒否攻撃)を実行したり、アプリケーションをクラッシュさせたりする可能性があります。
ありがたいことに、無制限のファイルアップロードの問題を解決して、攻撃者になりそうな人を阻止する方法はたくさんあります。そのために、無制限ファイルアップロードの主な 3 つの側面について説明します。
- その仕組み
- なぜ彼らはそんなに危険なのか
- それらを阻止するための防御策を講じる方法。
攻撃はどのようにして無制限のファイルアップロードを悪用するのか?
サイトが一般ユーザーにファイルのアップロードを許可したい理由はたくさんあります。おそらく、ある企業が人材の採用を検討していて、応募プロセスの一環として履歴書をアップロードできるようにしたいと考えているのでしょう。銀行は、ローンや新規口座の申請時など、重要な書類を自宅で記入するよう顧客に勧めることがあります。観光サイトやソーシャルメディアサイトでは、他の人と共有するために写真をアップロードするようユーザーに勧める場合があります。
ファイルのアップロードを許可する正当な理由はたくさんあります。そしてデフォルトでは、ほとんどの新しいアプリケーションでは、制限なくあらゆる種類のファイルのアップロードが許可されるでしょう。問題は、潜在的な攻撃者がこれらのアップロードに制限が設けられていないことに気付いたときから始まります。
アップロードに制限がないと、サイトは3種類の攻撃を受けることになります。悪意のあるユーザーは、最低レベルの攻撃から始め、数百ギガバイトの情報を含む圧縮アーカイブなどの巨大なファイルを簡単にアップロードできます。これにより、帯域幅が制限されるだけでなく、アプリケーションに割り当てられたストレージ領域が過負荷になる可能性があります。
悪名高い次は、ウイルスなどの悪意のあるファイル、あるいはランサムウェアのようなもっと邪悪なファイルをアップロードするユーザーです。これは、特に吸血鬼を家に招待しなければならないという昔からの迷信のようなものです。誰でも自由に入ることができると書かれた看板を掲げていると、まるで無制限にファイルをアップロードできるようなものです。ドアから入ってくるものをコントロールすることはできなくなり、すべての訪問者やファイルが無害になるわけではないことを想定しておくべきでしょう。中にはモンスターもいるかもしれません。
最後に、熟練した攻撃者は無制限のアップロードを利用して、より深い攻撃を仕掛けるネットワークへの足がかりを得ることができます。アップロードできる内容には制限がないため、攻撃者はそのプロセスを通じて自分の Web シェルを送信できます。その後、シェルにコマンドを送信すると、そのコマンドはアプリケーションと同じ権限レベルでサーバー上で実行されます。
無制限のファイルアクセスはなぜそれほど危険なのでしょうか?
無制限のファイルアクセスでアプリケーションをデプロイすることはすぐには危険ではありませんが、基本的にはサイバーセキュリティ防御に穴を開け、組織を攻撃するように誰かを誘うようなものです。遅かれ早かれ、誰かが反応するでしょう。
最も基本的なレベルでは、攻撃者は大混乱を引き起こすのにそれほどスキルを必要としません。非常に大きなファイルを圧縮してアップロードするだけで、有効なユーザーへのサービスを拒否できる可能性があります。時間の経過とともに、アプリケーションのプログラミングとネットワーク接続方法によっては、アプリケーションやサイト全体がクラッシュする可能性もあります。
無制限のファイルアクセスがあると、ネットワークのファイアウォールやその他の保護機能が侵害される可能性もあります。攻撃者がマルウェアをコアネットワークに直接アップロードする経路を作っていれば、受信メールや従業員のウェブ閲覧アクティビティをスキャナーで監視していても問題ありません。マルウェアはアプリケーションをクラッシュさせたり、実行中のサーバーをクラッシュさせたりする可能性がありますが、それがおそらく最善の結果です。最悪のシナリオでは、ランサムウェアのような真に悪意のあるプログラムが、侵入したサーバーを利用してネットワーク全体に拡散する可能性があります。
スキルの高い攻撃者が、無制限のファイルアクセスを持つアプリケーションを悪用しても、おそらくそれほど目立たないでしょう。その代わり、攻撃者はこの脆弱性を利用してアプリケーションを侵害し、それを利用してネットワークの奥深くまで侵入し、ゆっくりと動き回り、検出を回避しようとする可能性があります。そのためには、Web シェルやその他の.exe 形式のファイルをアップロードし、そのファイルに到達したら直接コマンドを送信します。シェルを介してユーザーが実行する操作は、通常、それをホストしているアプリケーションに設定されている権限レベルを使用してサーバーによって実行されます。サーバーにとっては、これらのコマンドはアプリケーションから送られてくるので、これ以上確認したり調べたりすることはまずありません。
これらすべてにより、無制限のファイルアクセスの脆弱性は、ネットワーク上で最も危険な脆弱性の1つとなっています。問題はおそらく、それが問題を引き起こすかどうかではなく、いつ引き起こされるかが問題でしょう。
無制限ファイルアクセスの脆弱性を排除するにはどうすればいいですか?
では、制限のないファイルアクセスの問題を解決するにはどうすればよいでしょうか。最も簡単な方法は、アップロードできるファイルの種類に 1 つまたは複数の制限を追加することです。たとえば、サイトでは Word ファイルまたはテキストファイルのみを受け付けるようにしたり、画像共有サイトの場合は.jpgs または.gifs のみを許可するように伝えたりするなど、必要に応じてユーザーに伝えることができます。バックエンドでは、許可するファイル拡張子のホワイトリストを作成し、それ以外はすべて拒否する必要があります。ファイル名の最大長にも制限を設ける必要があります。ファイル名に特殊文字が含まれていると、実行可能なコマンドを起動しようとした可能性がある場合も、同様に拒否する必要があります。
ファイルタイプと命名規則に加えて、各ファイルの最大サイズも制限する必要があります。最大サイズは、アプリケーションが収集すると予想されるファイルの種類に適したサイズにする必要があります。つまり、Word ファイルの上限は 10 メガバイト程度、グラフィックファイルの場合はそれより少し大きい (おそらく 50 メガバイト程度) ということになります。最小ファイルサイズのルールを設定することもできますが、ユーザーが特定のフォームに入力してアップロードする場合など、想定されるファイルのサイズ範囲がわかっている場合に限ります。
攻撃者は依然として、シェルやその他の潜在的に悪意のあるプログラムを、ファイルの種類やサイズの制限を超えてこっそり侵入する巧妙な方法を見つける可能性があります。これを補うため、収集したファイルは常に実行権限のないプライベートディレクトリに保存する必要があります。セキュリティ強化のため、システムによってファイルの名前をランダムな文字に変更できます。これにより、ネットワーク外の権限のないユーザーがアップロードしたファイルの場所を検索するのを防ぎ、ネットワークをある程度偵察できる可能性があります。ただし、その場合は、ランダムファイル名を元の指定にリンクするテーブルを設定して管理する必要があるでしょう。
最後に、アップロードによってネットワークに到着したものはすべて、組織がそれらのタスクに使用する防御プログラムによってマルウェアやウイルスをスキャンする必要があります。この方法ですべてが検出されるわけではありませんが、ファイルのアップロードによって侵入しようとする最も一般的な悪質なファイルの最大 90% 以上を検出するために使用できる重要なセキュリティ層です。
無制限ファイルアップロード問題の制限
バックエンドに複数のセキュリティレイヤーが導入されると、無制限のファイルアップロードの問題は問題ではなくなります。基本的に、ファイルのアップロードに制限を設けることでこの問題は解消され、制限が解除されなくなります。中に入れられるのは善良なファイルのみで、吸血鬼やマルウェアはすべて冷たいところに置き去りにされています。
詳細については、OWASP無制限ファイルアップロードをご覧ください 予防チートシートでは、このような状況がネットワークで許容される場合に発生する可能性のある問題のいくつかを概説しています。また、新しく身につけた防御知識を、で試すこともできます。 無料ショーケース サイバーセキュリティチームが究極のサイバー戦士になるためのトレーニングを行うSecure Code Warriorプラットフォームの。この脆弱性を打ち負かす方法や、その他の脅威を集めた不正行為のギャラリーについて詳しくは、 セキュア・コード・ウォリアーのブログ。
この脆弱性に対処する準備はできていると思いますか?戦場に出て自分のスキルを試そう:

以下のリンクをクリックして、このリソースのPDFをダウンロードしてください。
Secure Code Warriorは、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする文化を築くお手伝いをします。アプリケーションセキュリティマネージャー、開発者、CISO、またはセキュリティ関係者であるかに関わらず、安全でないコードに関連するリスクを軽減するお手伝いをします。
レポートを表示デモを予約Jaap Karan Singhは、セキュア・コーディング・エバンジェリストであり、チーフ・シンであり、セキュア・コード・ウォリアーの共同創設者です。
Unrestricted File Uploadsの問題は、攻撃そのものではなく、攻撃者がアプリケーションやネットワークリソースに簡単にアクセスできる一般的な状況または状態です。寒い中、濡れた服を着て歩き回るようなものだと考えてください。そうするだけでは、必ずしも病気になるわけではありませんが、抵抗力が低下し、日和見ウイルスが体の防御を簡単に圧倒してしまうほどです。
サイバーセキュリティでは、攻撃者は無制限のファイルアップロードをサポートすることが許可されているアプリケーションやプログラムをすぐに悪用できます。そして、その結果は壊滅的なものになる可能性があります。巧妙な攻撃者は、制限のないアクセスを利用して、悪意のあるファイルをアップロードしたり、スクリプトを設定して認証情報を盗んだり、アプリケーション自身の権限を使ってネットワークへのより深い攻撃を仕掛けたりすることができます。比較的経験の浅い攻撃者でも、この種の自由なアクセスを利用して DoS 攻撃(サービス拒否攻撃)を実行したり、アプリケーションをクラッシュさせたりする可能性があります。
ありがたいことに、無制限のファイルアップロードの問題を解決して、攻撃者になりそうな人を阻止する方法はたくさんあります。そのために、無制限ファイルアップロードの主な 3 つの側面について説明します。
- その仕組み
- なぜ彼らはそんなに危険なのか
- それらを阻止するための防御策を講じる方法。
攻撃はどのようにして無制限のファイルアップロードを悪用するのか?
サイトが一般ユーザーにファイルのアップロードを許可したい理由はたくさんあります。おそらく、ある企業が人材の採用を検討していて、応募プロセスの一環として履歴書をアップロードできるようにしたいと考えているのでしょう。銀行は、ローンや新規口座の申請時など、重要な書類を自宅で記入するよう顧客に勧めることがあります。観光サイトやソーシャルメディアサイトでは、他の人と共有するために写真をアップロードするようユーザーに勧める場合があります。
ファイルのアップロードを許可する正当な理由はたくさんあります。そしてデフォルトでは、ほとんどの新しいアプリケーションでは、制限なくあらゆる種類のファイルのアップロードが許可されるでしょう。問題は、潜在的な攻撃者がこれらのアップロードに制限が設けられていないことに気付いたときから始まります。
アップロードに制限がないと、サイトは3種類の攻撃を受けることになります。悪意のあるユーザーは、最低レベルの攻撃から始め、数百ギガバイトの情報を含む圧縮アーカイブなどの巨大なファイルを簡単にアップロードできます。これにより、帯域幅が制限されるだけでなく、アプリケーションに割り当てられたストレージ領域が過負荷になる可能性があります。
悪名高い次は、ウイルスなどの悪意のあるファイル、あるいはランサムウェアのようなもっと邪悪なファイルをアップロードするユーザーです。これは、特に吸血鬼を家に招待しなければならないという昔からの迷信のようなものです。誰でも自由に入ることができると書かれた看板を掲げていると、まるで無制限にファイルをアップロードできるようなものです。ドアから入ってくるものをコントロールすることはできなくなり、すべての訪問者やファイルが無害になるわけではないことを想定しておくべきでしょう。中にはモンスターもいるかもしれません。
最後に、熟練した攻撃者は無制限のアップロードを利用して、より深い攻撃を仕掛けるネットワークへの足がかりを得ることができます。アップロードできる内容には制限がないため、攻撃者はそのプロセスを通じて自分の Web シェルを送信できます。その後、シェルにコマンドを送信すると、そのコマンドはアプリケーションと同じ権限レベルでサーバー上で実行されます。
無制限のファイルアクセスはなぜそれほど危険なのでしょうか?
無制限のファイルアクセスでアプリケーションをデプロイすることはすぐには危険ではありませんが、基本的にはサイバーセキュリティ防御に穴を開け、組織を攻撃するように誰かを誘うようなものです。遅かれ早かれ、誰かが反応するでしょう。
最も基本的なレベルでは、攻撃者は大混乱を引き起こすのにそれほどスキルを必要としません。非常に大きなファイルを圧縮してアップロードするだけで、有効なユーザーへのサービスを拒否できる可能性があります。時間の経過とともに、アプリケーションのプログラミングとネットワーク接続方法によっては、アプリケーションやサイト全体がクラッシュする可能性もあります。
無制限のファイルアクセスがあると、ネットワークのファイアウォールやその他の保護機能が侵害される可能性もあります。攻撃者がマルウェアをコアネットワークに直接アップロードする経路を作っていれば、受信メールや従業員のウェブ閲覧アクティビティをスキャナーで監視していても問題ありません。マルウェアはアプリケーションをクラッシュさせたり、実行中のサーバーをクラッシュさせたりする可能性がありますが、それがおそらく最善の結果です。最悪のシナリオでは、ランサムウェアのような真に悪意のあるプログラムが、侵入したサーバーを利用してネットワーク全体に拡散する可能性があります。
スキルの高い攻撃者が、無制限のファイルアクセスを持つアプリケーションを悪用しても、おそらくそれほど目立たないでしょう。その代わり、攻撃者はこの脆弱性を利用してアプリケーションを侵害し、それを利用してネットワークの奥深くまで侵入し、ゆっくりと動き回り、検出を回避しようとする可能性があります。そのためには、Web シェルやその他の.exe 形式のファイルをアップロードし、そのファイルに到達したら直接コマンドを送信します。シェルを介してユーザーが実行する操作は、通常、それをホストしているアプリケーションに設定されている権限レベルを使用してサーバーによって実行されます。サーバーにとっては、これらのコマンドはアプリケーションから送られてくるので、これ以上確認したり調べたりすることはまずありません。
これらすべてにより、無制限のファイルアクセスの脆弱性は、ネットワーク上で最も危険な脆弱性の1つとなっています。問題はおそらく、それが問題を引き起こすかどうかではなく、いつ引き起こされるかが問題でしょう。
無制限ファイルアクセスの脆弱性を排除するにはどうすればいいですか?
では、制限のないファイルアクセスの問題を解決するにはどうすればよいでしょうか。最も簡単な方法は、アップロードできるファイルの種類に 1 つまたは複数の制限を追加することです。たとえば、サイトでは Word ファイルまたはテキストファイルのみを受け付けるようにしたり、画像共有サイトの場合は.jpgs または.gifs のみを許可するように伝えたりするなど、必要に応じてユーザーに伝えることができます。バックエンドでは、許可するファイル拡張子のホワイトリストを作成し、それ以外はすべて拒否する必要があります。ファイル名の最大長にも制限を設ける必要があります。ファイル名に特殊文字が含まれていると、実行可能なコマンドを起動しようとした可能性がある場合も、同様に拒否する必要があります。
ファイルタイプと命名規則に加えて、各ファイルの最大サイズも制限する必要があります。最大サイズは、アプリケーションが収集すると予想されるファイルの種類に適したサイズにする必要があります。つまり、Word ファイルの上限は 10 メガバイト程度、グラフィックファイルの場合はそれより少し大きい (おそらく 50 メガバイト程度) ということになります。最小ファイルサイズのルールを設定することもできますが、ユーザーが特定のフォームに入力してアップロードする場合など、想定されるファイルのサイズ範囲がわかっている場合に限ります。
攻撃者は依然として、シェルやその他の潜在的に悪意のあるプログラムを、ファイルの種類やサイズの制限を超えてこっそり侵入する巧妙な方法を見つける可能性があります。これを補うため、収集したファイルは常に実行権限のないプライベートディレクトリに保存する必要があります。セキュリティ強化のため、システムによってファイルの名前をランダムな文字に変更できます。これにより、ネットワーク外の権限のないユーザーがアップロードしたファイルの場所を検索するのを防ぎ、ネットワークをある程度偵察できる可能性があります。ただし、その場合は、ランダムファイル名を元の指定にリンクするテーブルを設定して管理する必要があるでしょう。
最後に、アップロードによってネットワークに到着したものはすべて、組織がそれらのタスクに使用する防御プログラムによってマルウェアやウイルスをスキャンする必要があります。この方法ですべてが検出されるわけではありませんが、ファイルのアップロードによって侵入しようとする最も一般的な悪質なファイルの最大 90% 以上を検出するために使用できる重要なセキュリティ層です。
無制限ファイルアップロード問題の制限
バックエンドに複数のセキュリティレイヤーが導入されると、無制限のファイルアップロードの問題は問題ではなくなります。基本的に、ファイルのアップロードに制限を設けることでこの問題は解消され、制限が解除されなくなります。中に入れられるのは善良なファイルのみで、吸血鬼やマルウェアはすべて冷たいところに置き去りにされています。
詳細については、OWASP無制限ファイルアップロードをご覧ください 予防チートシートでは、このような状況がネットワークで許容される場合に発生する可能性のある問題のいくつかを概説しています。また、新しく身につけた防御知識を、で試すこともできます。 無料ショーケース サイバーセキュリティチームが究極のサイバー戦士になるためのトレーニングを行うSecure Code Warriorプラットフォームの。この脆弱性を打ち負かす方法や、その他の脅威を集めた不正行為のギャラリーについて詳しくは、 セキュア・コード・ウォリアーのブログ。
この脆弱性に対処する準備はできていると思いますか?戦場に出て自分のスキルを試そう:




%20(1).avif)
.avif)
