本連載「企業セキュリティの歩き方」では、セキュリティ業界を取り巻く現状や課題、問題点をひもときながら、サイバーセキュリティを向上させていくための視点やヒントを提示する。
サイバー攻撃への対策として、「攻撃者視点」の重要性とともに、攻撃者側が被害者に攻撃を気付かせないよう巧妙な技術の向上を続けている状況を解説してきた。そして、昨今ではセキュリティ対策は、サイバー攻撃を防御することより、まず被害に気づけることに重点が置かれるようになった。一方で、本来攻撃者はサイバー攻撃に気が付かないように細心の注意を払うものだが、逆に被害を気付かせないと攻撃者が利益を得られないランサムウェアを使った攻撃が台頭したことで、サイバー攻撃の脅威に気付くシーンなども出てきている。
今回は、攻撃者が実践している手法の代表的な例や、その対策などについて述べる。加えて、人々がそれを実行できれば、サイバー攻撃の被害が確実に減るということも述べていく。
多種多様なサイバー攻撃の手法とその対策
サイバー攻撃は、世界規模の大きなビジネスとなり、人々が生活する上で無視できない存在になっている。これまで、「まさか自分の身に地球の裏側から攻撃が行われるという状況に実感がなかった」という人々でも、サイバー攻撃の被害が他人事ではない事実に気づき始めているはずだ。残念ながら、サイバー攻撃は誰もが被害に遭ってもおかしくない身近な脅威となった。
巧妙で多様化するさまざまな手法によるサイバー攻撃の脅威は、現在ではセキュリティ製品を導入すれば、被害に遭わずに済むという単純な話ではなくなっている。どんなサイバー攻撃も無効化してしまう魔法の盾のような万能の防具などは存在しない。そのため、攻撃者が繰り出す多種多様な手法に対して、その手法を理解した上で都度対策を講じる必要がある。
非常に面倒だが、現在のサイバー攻撃対策は、個々の攻撃や手法に対してどうすれば防げるかという対応を一つ一つ実直に続けていくしかないからだ。
日々巧妙化しながら数も増えている攻撃手法を数え上げればきりがない。ここでは少々技術的な内容を伴うが、以下にその代表的な手法を記した。
DDoS攻撃
DDoS(分散型サービス妨害)攻撃は、最も被害に遭う可能性が高い攻撃手法かもしれない。この攻撃手法は、ウェブサーバーなどに高い負荷をかけるような通信を複数の端末から送り付ける。DDoS攻撃は、さらに幾つかに細分化することができる。
大量のトラフィックを送信することで、通信回線をひっ迫させる「ネットワーク資源消費型」や、セッションを確立して、そのセッションを長期間維持することで、正規の利用者がアクセスしにくくなる「システム資源消費型」などがある。
この攻撃手法は、簡単に言えば、標的のシステムの利用を妨げる、嫌がらせをするような効果があり、この攻撃を受けると情報漏えいなどの被害はないものの、システムを利用できなくなってしまう。
DDoS対策の例
DDoS攻撃の対策は非常に難しい。なぜなら、根本的には攻撃の負荷に耐えられるよう通信基盤そのものを増強しなければならないからだ。セキュリティ対策方法というより、通信基盤自体の見直しが必要で、非常にコストが高くなりやすい。
しかし、クラウドサービスなどの大規模な基盤をネットワークのゲートウェイにすることで、非常に多くの通信トラフィックをさばけるシステムにするなどの対策方法が出てきており、以前よりは対策しやすくなってきている。
不正アクセス攻撃
不正アクセスは、正しいアクセス権を持たない者が権限を持つ本人になりすまし、サーバーやサービスにアクセスする行為を指す。例えば、金融機関のインターネット口座に不正アクセスをされれば、金銭が窃取される。企業などの重要な機密情報を格納するサーバーにアクセスされれば、多くの時間と費用を投じた研究資料などの機密情報を窃取されてしまうのだ。
そして、この不正アクセスも複数の手法に細分化される。ユーザーが複数のウェブサイトで同じパスワードを使い回している場合、攻撃者そのウェブサイトの中から事前に取得したIDとパスワードの組み合わせで、不正アクセスを試す「パスワードリスト攻撃」がある。また、全てのIDパターンとのパスワードでログインを試行する「総当たり(ブルートフォース)攻撃」や、その逆にIDの総当たりを実行する「リバースブルートフォース攻撃」などがある。
不正アクセス対策の例
これらの攻撃手法への対策は、ユーザーとシステム管理者の双方がIDとパスワードを適正に管理することが基本となる。ただ、これには特別なセキュリティ対策が必要というわけではないが、運用面で徹底することが非常に困難だと言える。今や誰もが、複数のウェブサービスを利用している。覚え切れないほどのウェブサービスを利用する人も少なくない。その全員がいつもミスなく適正にIDとパスワードを運用し続けるという当たり前のことを徹底し続ける地道な運用そのものが最大の対策となる。
脆弱性攻撃
アプリケーションやソフトウェアのセキュリティ的な欠陥を狙う攻撃は、「脆弱性を攻撃」と呼ばれる。この攻撃には、「バッファオーバーフロー」と呼ばれる、適正な桁数を超える不正なデータを書き込むことでシステムに誤作動を起こさせる方法や、「SQLインジェクション」と呼ばれる、ウェブサイトの運営側が想定していないSQL文を入力することでデータベースに不正な命令を与え、データの窃取や改ざんを行うものがある。
また、あらかじめ罠を仕掛けたウェブサイトにユーザーを誘導した上で、スクリプト付きでウェブサイトに移動させ、表示ページの改ざんやデータの窃取を行うものがある。OSやソフトウェアに元々存在(プログラム作成時などに誤って発生)する脆弱性を突く攻撃手法もある。平易には、ITシステムに元々ある“脆弱性”と呼ばれる弱点を突く攻撃の総称と言えば、分かりやすいかもしれない。
脆弱性攻撃の対策の例
脆弱性を突く攻撃には、根本的には、ITシステムを安全な状態に保つことが対策になる。しかしながら、これもまた非常に難しい。脆弱性を修正するプログラム(パッチ)を適用することが推奨されるが、これにはシステムに別の問題や障害を発生させてしまう可能性がゼロではないからだ。そこで、システムを使い始める前に、セキュリティ診断やペネトレーション(擬似的な不正アクセス)のテストを行うことで、事前にシステムの安全性を確保することが大切となる。
しかし、既に利用しているシステムについては、OSやソフトウェアの提供元から脆弱性情報が定期的(時には緊急で)に出てくる。その情報を収集し、パッチ適用などで都度セキュリティホールを埋めていく地道な作業が必要になる。もちろん、攻撃者も脆弱性の情報を知ったタイミングで、これを悪用する攻撃を一斉に仕掛けてくるため、非常にシビアな時間との勝負になる。