最近クラウドソーシングサービス上でWordPress関連の仕事の提案者の一覧でよく見かける人がいて、自身のホームページで体験版も公開していたのでダウンロードしてプログラムを見てみたところ
PHPを動作させるソフトウェア(apacheやphp-fpmなど)で読み取り可能なサーバ上の任意のファイルをダウンロード可能
という結構危ない脆弱性を簡単に見つけてしまった。
DBの接続情報やFTPの接続情報など、かなり重要な情報が書かれた「wp-config.php」もダウンロードできてしまうほどのものである。
しかも特段難しい手順も必要なく、ただURLの後ろにパラメータを付与してアクセスするだけという、誰でもできてしまうような攻撃の容易さも兼ね備えていた。
2019/2/6 追記
脆弱性評価
https://jvndb.jvn.jp/cvss/ja/v3.html#CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
この人の評価・実績を見ると結構な数があり、納品されたこの脆弱性がそのままになっているサイトも少なくないのではないかと考え、こういったセキュリティに関する問題をどのように扱うべきかをネットで調べた。
すると脆弱性を報告すると逆恨みで訴えられる可能性があるという記述をいくつかのページで見つけた。


teratailの質問者には「変に正義感を出すな」や「不信行為だ」等の批判ばかり。
これじゃセキュリティに関する指摘をしたいと思う人はいなくなるのではないだろうか。
かくいう私も面倒ごとには巻き込まれたくないという思いが強くなり、少しIPAのセキュリティ報告のページを覗いて報告の面倒さも確認した後、結局報告するのはやめてしまった。
クラウドソーシングサービス
「評価」の問題点
WordPressのプラグインは自由に作成できるのがメリットだが、逆にあまり知識がない人が作ると上記のような致命的なセキュリティに関する問題を含む場合が多々ある。
今回問題があった人は、そのサービスでのランクが一番上で実績や評価もかなりあるため一見実力があるように感じる。
が、実態はかなり初歩的で致命的な問題を放置しており、その評価に見合った実力があるかどうかは非常に疑問である。
クラウドソーシングサービスではプログラミングをわからない人が依頼することが多く、機能さえ実装できていればよい評価になってしまう弱点が存在する。
本来はセキュリティ等の非機能要件も考慮に入れて設計・実装する必要がある。
これはWordPressに限った話ではない。
各自でできる対策
依頼する前はどうしてもクラウドソーシングサービス上での評価に頼らざるを得ない。
ただ、オープンソースでの活動や技術ブログの執筆等である程度の実力は測ることは可能だと考えられる。
今回問題があった人は、自身の製品ごとにサイトが用意され使い方や機能の紹介はあったが、技術的な発信はなく、GitHub等での活動に関する情報もプロフィール等に一切なかった。
他にできることとしては納品後も納品物をセキュリティやパフォーマンスの観点から第三者に見てもらうのがベストだろう。
見つけた脆弱性は結局どうすべきなのか
脆弱性報告のためのフォームのようなものがあれば、そこの運営者はセキュリティに関する意識が高いと考えられ、ちゃんと報告すればちゃんとした対応をしてくれるだろう。
そういうものがない場合はよくわからないというのが正直なところだ。
IPAでは一応そういった報告を受け付けることをしているようだが、ただ仲介してくれるだけで実際に修正するかどうかは運営者に託され、またIPA側で修正が正しく行われたかどうかなどの確認はしないようだ。
また報告する際に必要な情報が多く非常に面倒で、その報告が受理され、修正されたとしても何か報酬があるわけでもない。
報告するのも面倒で報告したらしたで訴えられる可能性もある。
結局放置するのがベストのようだ。
まとめ
クラウドソーシングサービス上での評価は特にシステム開発の場合はプログラミングがわからない人の評価になる場合がほとんどなので当てにならない場合が多い。
評価が高くても致命的な脆弱性を納品される場合があるので各自で対策が必要。
今のところ脆弱性は見つけても放置がベスト。
サイト運営者は脆弱性報告のためのフォームを用意すべき。
もっと報告しやすい環境になれば今必要とされているセキュリティ人材も育ちやすいと思うのだが、IPAはこの辺りは改善しないのだろうか
コメント