【書名; サイバー攻撃①】その典型例から
こんにちは、ペンギン男です🐧
タイトルにわざわざ「書名」と断ったのには理由があります。私には、サイバー攻撃を解説できる知識もスキルもありません。飽くまで、既存の書籍を活用したスタディーであることを、まず断っておかないと、なんとなく、詐欺な感じがしましたので💦
サイバー攻撃 ネット世界の裏側で起きていること (ブルーバックス)
- 作者: 中島明日香
- 出版社/メーカー: 講談社
- 発売日: 2018/01/18
- メディア: 新書
- この商品を含むブログ (2件) を見る
出典はアマゾンさん。
念のため、私のスキル・レベル
サイバー攻撃というと、主にネットワーク系のトピックかと思いますが、念のため、私のスキル・レベルを以下に。座学だけは、少しかじっただけの初級者と言えましょう💦
- プログラミング→実務経験なし。サイト制作はケーススタディで簡単にECサイトをひとつだけ。資格はオラクルさんのJavaのSilver取得。
- デーダベース→実務経験なし。資格はオラクルさんのOracleMaterのBronze。
- ネットワーク→実務経験なし。資格なし。
デジタルは、それぞれの分野が、ほぼ独立?!
そもそもデジタル分野を勉強するに際して、どこから手をつけてよいかまったく分かりませんでした。最初は、どこから手をつけても、ある程度ほかの分野にも通じる「勘所」が得られるかと思ってましたが(もっと高いレベルに達すると別なのかもしれませんが)とんだ勘違い💦各分野ごとに、ゼロとまでは言いませんが、ほとんど関連性が感じられず、すべて、一から着手するしかないと結論💦
なるほど、これだけ、細分化されているわけです💦
仕事上、緊急に着手しないといけないプレッシャーもないので、どうやら自分で見通しをつけなければならないよう💦(💦のマークばっかり💦)
念のため詳しそうな、何人かに聞いてまたのですが、なぜか、その方の専門分野の話になってしまう始末。それはそれで参考になったのですが、こちらとしては、八方塞がり。一応、もがいてみて、とりあえず次の結論に。
- まず手始めに、情報をまとまった形で表す「土台」がなければ始まりません。デジタル上のモノをどうやって作るかといえば→プログラミング
- 「土台」だけ作っても内容が乏しすぎます。「土台」を充実させていく手続きとして→データベース
- 「土台」を準備し、それを充実させる材料があっても、それを届ける手続きか必要となると→ネットワーク
要は、なにかしようと思えば、「プログラミング」「データベース」「ネットワーク」が分からないと始まらないのではないか、と。気の遠くなるような話ですが、なんとなく、間違っていないような気がしたので、とりあえず、ここらあたりから始めてみようか、と。そして、どこかピンとくることあれば、その分野を深めよう、と。
どうして、この本?!
先に触れましたが、プログラミングとデータベースなついは、まったく分からない訳ではないので、あとは、ネットワークになんとか手をつけたいなと思ってました。サイバー攻撃といえば、取りも直さず、ネットワーク関連のトピックだろうと思って手に取りました。
想定される読者のデジタル・リテラシーの問題かと思いますが、もっぱら、用語や歴史の概説と、あとは、プログラミングの話でした。しかもC言語。とは言え、サイバー攻撃自体には関心あったので、そのまま読み進めます。
サイバー攻撃の典型例の説明
プログラミングには、大まかに、データを取り入れ、それを利用して動作させることを目的としているイメージあります。おそらく、グーグルさんあたりでよく耳にするinput/outputみたいな話かと思います。
それで、データを取り込むためには、その入れ物となる「箱」を先につくります。その箱には、予め大きさが決まっているものと、大きさをある程度柔軟に拡充できるものがあります。しかし、もともと決まっている大きさを超えたボリュームのものを当て込んでしまうことがあるようです。単純に、想定していた情報量を超えるなんてことは、よく起こりそうです(バッファオーバーフローというようです)
- 例えば100の大きさの箱に105も入れ込んでしまった
- そうすると1〜5は押し出され、101〜105までが100の大きさの箱に収まります。
- この性質を利用してウイルス(マルウェアというらしいですが)を特定のプログラムに読み込ませ、1〜5に含まれていたデータ貯蔵庫のありかの情報を外に押しやって、その代わり、101〜105に書かれた偽のデータ貯蔵庫のありかをインプットするようにします
- 101〜105に指定された、偽のデータ貯蔵庫には、プログラムを乗っ取る指令が書かれていて(シェルコードというらしい)、そこからサイバー攻撃が始まるとか。
最後に
あまり馴染みのない方にとっては(自分含め)下手にソースコードで書くより、文書の方が分かりやすいような気がしています。
逆に少しでもご存知の方には、かったるいかもしれません💦
#プログラミング
#データベース
#ネットワーク
#シェルコード