先日派遣先で、5万数千件にのぼる個人情報漏洩を見付けてしまいました。
その会社ではチンケなECサイトをやってるんですけど、 といっても再販の再販までされてて何百人にも使われちゃってますが、 中身は2000年代前半〜中盤のcode。未だにJSP(一部Java)。 今やもうJavaEEから外れたっていうのに。 OSやlibrary、middlewareもsupport切れで無いものは無いという。 http/https混在、userのpasswordもDBに平文で保存してるくらい、 設計思想からして古いままのものです。WAFも入ってないといいますし。 早晩、こんなことが起こるだろうと傍で見ていて思っていましたが、 現実になり、しかも発見者がぼくだとは。 ぼく一応これ、部外者なんですけど。 同じように派遣されててそっちも手伝っている同僚から、 こんなaccessが沢山来てるってattack patternを見せられて。 不覚にも最初は一般的な定期巡回sql injectionかと思ってました。 Googleで調べると、そういうのが載ってたんです。
(jsql-injection かとも思ったんですが、試してみるとちょっと違うかも。 Havij ProはWindowsだしちょっと怖いので入れてません)
ともあれ、だから単なる下調べ的なattackかと思ってました当初は。 しかし、
- IP遮断してもIP変えてやって来るくらいしつこい(IP元はHK,US,JP,CN,UK等々)
- しかも同じようだが微妙に違うrequestを大量にする
というところからすぐにピンとくるべきでした。 翌週になって、そういえば見せられたqueryに このサイト固有の名前が入っていたな、 というところから、ちょっと実際に叩いてみたんですね。 そしたら...
あらま。
確かによく見たらqueryの中に「MAIL、PASSWD、TEL」の文字が。 見事に抜かれてました。 各queryの違いは、lImIt
の数。 これを変えて、順々に取って行ってたんですね。 後でわかったことですが、固有名が無くてもinformation_schema
から table名1個ずつ抜けるんですね。
attackがあったのが木曜、ぼくが気付いたのが翌週月曜、 log解析依頼されて、調べてみるとMAIL AddressとかPASSWDが5万数千件は 抜かれてました。 その他、抜かれてたのはショップ運営者の方のID、MAIL、PASSWDも。 それは6月19日に起きてました。 今までずっと気付いてなかったという。 再販先と連絡取って、すぐサイト全体落としたんですけど、 全体をこれまでのオンプレミスサーバ群からクラウドに移行したということで、 また再開したそうです(WAFは入れると言ってはいましたが) (しかも移行したといってもミスがあるらしくすぐにはうまく行っていないとかで、 自分でやっといて直せないなんてアホの極みだと。 その不具合修正をぼくに求めてくるという。 確かにぼくはJava expertなので、 なんで見当違いのところで騒いでるのかくらいの指摘はしてあげましたけど、 自分の尻くらい自分で拭ったらどうですか?と)。
色々信じられません。
元々彼らの思考には付いていけてなくて。 今自分がやらされているprojectの方でも、 serverのlogic追ってったら「これ認証無いですよ」 って言っても改善せずそのまま、 他人の電話番号とか情報を抜けるPOC作って示しても、 「そのPOC書くのにどのくらい時間かけた?」とか聞いてくる始末。 もう匙投げてました。 っていうか、こんな人もいるんだ、と勉強になりました。 更に言えば、日本のsecurity意識って一般的にはこんなもんなんでしょうか。
本当は、この実態を再販先等に告発した方が社会正義のためだと 思うんですけれども、 西宮冷蔵社長の例を鑑みても告発者が報われない社会なのは明らかなので、 黙っているしか無いのかと悲しい思いをしています。
早くこんなとこから抜け出さないと、イケマセン。