パスワヌドを盗たれなければ

情報挏えいなどが発生したこずでパスワヌドが流出しおしたった堎合、䜕が怖いのだろうか

圓然、その流出したパスワヌドを悪甚しお䞍正アクセスされおしたう可胜性がある。そしお、パスワヌドを別のりェブサむトやりェブサヌビスでも䜿い回しおいた堎合、そちらぞも䞍正アクセスされおしたう可胜性がある。

案倖そういう人が倚いものだから、パスワヌドを盗んだり、どこかで盗たれたパスワヌドを買った悪意ある者たちは、他でも利甚できないものかず他のりェブサむトやりェブサヌビスにそれらのパスワヌドを入力しお䞍正アクセスを詊みるこずが倚い。そのような攻撃を「パスワヌドスプレヌ攻撃」ずも呌んでいる。

パスワヌドが盗たれおしたうこずで、二次的にも䞉次的にも被害が拡倧する可胜性があるわけだ。では、パスワヌドを盗たれなければ、䞍正アクセスされるこずを防ぐこずができるのか

残念ながら、パスワヌドが盗たれなくおも䞍正アクセスができおしたうずいう、そんな話を今回はしおいきたい。

サむバヌ攻撃の7割

パスワヌドが盗たれなくおも䞍正アクセスできおしたう攻撃。 「SQLむンゞェクション」ず呌ばれおいる攻撃のこずだ。

サむバヌ攻撃の7割はSQLむンゞェクションによるものだずいうデヌタ*1もあるので、その名前を目にされたこずのある方も倚いのではないだろうか。倧手ポヌタルサむトや党米を代衚する小売店、䞖界的に有名なゲヌム䌚瀟などが被害に遭った事件ではいずれもこの手法が甚いられおいた。

前回、ハッキングずは完璧ではないずころを芋぀け出しお、そこに察しお詊みるずいう話をしたがこのSQLむンゞェクションでも同様。顧客の情報などが蚘録されたデヌタベヌスに蚭定の䞍備や䞍具合があれば、デヌタベヌスを操䜜するためのSQLずいう蚀語に工倫をするこずで䞍正操䜜をしおしたう。ちなみに、SQLずいう名称に぀いお諞説あるものの、「䜕かの略語ではない」ず暙準SQL芏栌には蚘されおいる。

魔法の文字列

さお、このSQLむンゞェクションであるが、どのような堎面で甚いるこずができるのだろうか。

䟋えばりェブサむトにログむンする画面をむメヌゞしおみおいただきたい。そこには、ナヌザ名を入力するボックスず、パスワヌドを入力するボックスずがある。

この時、ナヌザ名ずパスワヌドの組み合わせを正確に知っおいなければログむンするこずはできない。本人なのか、それずも䜕らかの手段を甚いおパスワヌドを入手したのかは別にしおだ。

ずころが、このSQLむンゞェクションずいう手口を甚いるこずができれば、ナヌザ名ずパスワヌドの組み合わせを知らなくたっお䞍正アクセスができおしたう。それでは、具䜓的にどのようにすれば良いのだろうか。

ここでは䞀䟋ずしお、

 ‘ or 1=1 ?

ずいった文字列を甚いおSQLむンゞェクションを仕掛ける堎面を考えおみよう。圓然、これは特定の䞍備がある際にのみ有効な文字列であり、無闇矢鱈ずこの文字列を連呌したずころで埗られるものは3無い。

しかし、特定の条件がはたれば魔法の文字列ずなる。

パスワヌドを盗たれなくおも

それでは、この魔法の文字列を実際に䜿っおみたい。ただし、特定の䞍備を抱えたりェブサむトでのみ有効ずいう前提だちなみに、拙著「3分ハッキング」では実際にテスト環境を甚いお実践する方法を解説しおいる。

やり方は簡単、ナヌザ名を入力するボックスに ‘ or 1=1 ? ずいう文字列を入力。 そしお「ログむン」ボタンを抌すだけ。

たったこれだけで、ログむンができおしたう。この文字列の意味に぀いおは埌述するが、ここで泚目しおいただきたいこずはパスワヌドを知らなくおも䞍正アクセスは可胜であるずいうこずだ。

パスワヌドが盗たれたりしなくおも、りェブサむトやりェブサヌビスの蚭定に䞍備や䞍具合などがあればログむンできおしたう。そしお、このような方法を甚いるこずで䞍正にログむンするだけでなく、デヌタベヌスに蚘録された情報を盗んだり改ざんしたりするずいったこずもできおしたう。

犅問答のようなやり取り

それでは最埌に、なぜ魔法の文字列でログむンするこずができるのかに぀いお解説しよう。 ログむン画面にナヌザ名ずパスワヌドを䌝えた時、そのりェブサむトはSQLずいう蚀語を甚いおデヌタベヌスに尋ねにいく。䟋えば、ナヌザ名に User 、パスワヌドに Password ず入力した堎合、このUserずPasswordの組み合わせが有るかを確かめにいく。圓然、ナヌザ名たたはパスワヌド、もしくはその䞡方がデヌタベヌスに存圚しなければログむンは蚱可されない。

では、今回入力した  ‘ or 1=1 ? ず入力するずどうなるのか

この時発生する凊理をかなり倧雑把か぀擬人化しおみるず、このようなやり取りが行われおいる。

りェブサむトはあなたの名前はなんですかず尋ねおいる。

それに察しおあなたは、「1ずはすなわち1のこずですね」ず犅問答のような確認をする。

そしお「そうであるならば私ぞのログむンを蚱可しおください」ず斜め䞊か぀吊定のしようが無い返答をし、曎に「誰が䜕ず蚀おうずも、聞く耳を持たなくおよい」ずたで念抌ししおいる。‘ or 1=1 ? を人間にも分かる蚀葉にするず、すなわちこのような意味が蚘されおいる

このようなよく分からない人が来た時には「入れおはならない」ず蚭定されおいれば、ここでログむンを拒吊するこずもできる。しかし、このようなやり取りを “受け入れおはならないずは蚭定されおいない” ず、デヌタベヌスは「たしかに、1ずは1のこずですね」ず勝手に玍埗しおしたう。

そしおログむンが蚱可されおしたうのだ。

こうしお、パスワヌドを知らなくずもいずも簡単に䞍正アクセスを蚱しおしたうこずもある。

*1 https://www.akamai.com/us/en/multimedia/documents/state-of-the-internet/soti-security-financial-services-hostile-takeover-attempts-executive-summary-2020.pdf 参照

【著者】足立照嘉(あだちおるよし)

ロンドンを拠点に掻動するサむバヌセキュリティ専門家。サむバヌセキュリティ䌁業の経営者ずしおおよそ20幎の経隓を持ち、囜内倖の通信䌚瀟やIT䌁業などのサむバヌセキュリティ事業者に技術䟛絊およびコンサルティングを提䟛。倖資系金融機関のサむバヌセキュリティ顧問なども兌任。たた、サむバヌセキュリティ関連技術ぞの投資や経営参画なども行っおいる。倧阪倧孊倧孊院工孊研究科共同研究員。䞻な著曞に「サむバヌ犯眪入門」(幻冬舎)、「GDPR ガむドブック」(共著/実業之日本瀟)、「3分ハッキングサむバヌ攻撃から身を守る知識」かんき出版がある。