連日のように個人情報の漏洩のニュースなんかがある中、去年「犯罪予告」の書き込みで誤認逮捕まで出てしまったセキュリティ問題…昔に比べてかなり身近な問題となってしまった。
しかも真犯人は未だ捕まっていない(2013年1月現在)。
数年前までは、まともな使い方をしている以上、コンピュータウイルスにかかることは滅多になかった。
では何故最近になってウイルスがはびこったり、企業から顧客情報が漏洩したり、外国から政府省庁のWebサイトが改ざんされたり、犯罪予告の書き込みで誤認逮捕されたりといったことが頻発するようになったのか。
ひとつにはコンピュータそのものの普及と性能アップ、もうひとつにはネットワークの高速化がある。
あ、やべ。このペースだとひとつの記事に収まらないや。
セキュリティの問題はとてつもなく広く深いので何回かに分けて書くことになるかも。
計画性がなくてすみません(´д`)
とりあえず今回はウイルスについてざっと書くことにする。
次回あたりでハッカー、んでその次あたりに個人情報漏洩でぼちぼちと。予定は変更する可能性アリ。
コンピュータウイルスといっても、その中身はプログラムである。
で、そのプログラムの挙動が以下のうちひとつでも満たすならば、ウイルスとして定義される。
1.自己伝染機能 (自分を他のシステムに複製すること)
2.潜伏機能 時間や処理回数など、一定条件を満たすまで発病せずに症状を出さない機能
3.発病機能 プログラムやデータの破壊や改ざんなど、設計者の意図しない行動をする機能
また、悪意を持ったソフトのことを「マルウェア」などといったりもする。
ウイルスを作成するには、実はそれほど大した知識は必要ない。
誤認逮捕の真犯人が「Visual Studio」という専門的なソフトを使って作ったから、高度な知識を持っていると警察が発表したが、これは大間違い。
少しプログラミングの知識があれば余裕で扱えるソフトだし、そもそも他人を犯罪に巻き込むようなやつが正規品を購入しているとも思えない。
というかExpressなら無料だし。
脱線。
ウイルス自体は簡単な作りながらも、コンピュータに深刻なダメージを与えるものも少なくない。
詳しく書くと問題になるので、古い例で説明する。
たとえば有名なプログラミング言語である「C」は、古い言語であるためメモリのチェックをしなかったりする。
メモリ上に並んだ「0」と「1」の二進数の数字は、どこからどこまでが【命令文】で、どこからどこまでが【データ部分】なのかというのをパッと見では判断できない。それはコンピュータも同じ。
そこでアドレスによって管理する。
「1番地から3番地までの【0101 0001 0111】は足し算の命令文ですよ」とあらかじめ決めておくわけだ。
で、4番地に足される数を、5番地に足す数を入れたりする。
これは物凄く単純化しているので、実際の挙動を知りたかったらアセンブラを勉強するといい。
で、Cではメモリのチェックをしないので、データ部に「物凄い大きい数」を入れたりするとデータ部の番地をはみ出してメモリの別の番地に入りきらないデータが書き込まれちゃったりする。
その「本来書き込まれちゃいけない場所」に意図的に上書きしたりすることで、コンピュータの挙動を狂わせるわけだ。
これはバッファオーバーフローという古典的な攻撃手法だが、単純なバグのこともあれば意図的に作成されることもある。
攻撃目的で意図的に作られたものがウイルスだ。
もちろん、これは話を分かりやすくするためにした単純な例なので、ウイルスには他にも様々な種類がある。
しかし、どれにも共通するのがコンピュータやソフトウェアの脆弱性を狙ったものであり、こればかりは防ぎようがない。
なぜなら複雑化しすぎていて、たいていのソフトウェアには出荷時で既に2万にも及ぶバグが内包されているからだ。
大規模なソフトになるとそれはもっと増える。
あー、やっぱ長くなった(´д`)
ちょい中途半端だけど強引にまとめる。
・ウイルスはプログラム
・作るのは簡単
・大体はソフトウェアの脆弱性を狙って作られる
ウイルスを作る目的は、愉快犯だったりハッキングだったり様々。
そんなわけで次回のハッキングへと続くざます。
あ、ウイルス対策を書いておかなきゃ。
ウイルスソフトを入れておけばたいていの有名なウイルスには対応してくれる。
でも定期的に【定義ファイル】を更新しないとダメ。
ウイルスはプログラムなので、その中身のコードの特徴をしるしたものが【定義ファイル】。
この定義ファイルとマッチングすると、ウイルスだと認定されて駆除される。
なので、新しいウイルスが出ちゃった場合は、定義ファイルにその特徴が書かれていないので、ウイルスソフトをすり抜けて感染しちゃうこともあるので要注意。
一番大事なのは怪しげなサイトに近づいたり、知らない人からのメールは開かないとかそんな当たり前のこと。
君子危うきに近寄らず(σ・∀・)σ
しかも真犯人は未だ捕まっていない(2013年1月現在)。
数年前までは、まともな使い方をしている以上、コンピュータウイルスにかかることは滅多になかった。
では何故最近になってウイルスがはびこったり、企業から顧客情報が漏洩したり、外国から政府省庁のWebサイトが改ざんされたり、犯罪予告の書き込みで誤認逮捕されたりといったことが頻発するようになったのか。
ひとつにはコンピュータそのものの普及と性能アップ、もうひとつにはネットワークの高速化がある。
あ、やべ。このペースだとひとつの記事に収まらないや。
セキュリティの問題はとてつもなく広く深いので何回かに分けて書くことになるかも。
計画性がなくてすみません(´д`)
とりあえず今回はウイルスについてざっと書くことにする。
次回あたりでハッカー、んでその次あたりに個人情報漏洩でぼちぼちと。予定は変更する可能性アリ。
コンピュータウイルスといっても、その中身はプログラムである。
で、そのプログラムの挙動が以下のうちひとつでも満たすならば、ウイルスとして定義される。
1.自己伝染機能 (自分を他のシステムに複製すること)
2.潜伏機能 時間や処理回数など、一定条件を満たすまで発病せずに症状を出さない機能
3.発病機能 プログラムやデータの破壊や改ざんなど、設計者の意図しない行動をする機能
また、悪意を持ったソフトのことを「マルウェア」などといったりもする。
ウイルスを作成するには、実はそれほど大した知識は必要ない。
誤認逮捕の真犯人が「Visual Studio」という専門的なソフトを使って作ったから、高度な知識を持っていると警察が発表したが、これは大間違い。
少しプログラミングの知識があれば余裕で扱えるソフトだし、そもそも他人を犯罪に巻き込むようなやつが正規品を購入しているとも思えない。
というかExpressなら無料だし。
脱線。
ウイルス自体は簡単な作りながらも、コンピュータに深刻なダメージを与えるものも少なくない。
詳しく書くと問題になるので、古い例で説明する。
たとえば有名なプログラミング言語である「C」は、古い言語であるためメモリのチェックをしなかったりする。
メモリ上に並んだ「0」と「1」の二進数の数字は、どこからどこまでが【命令文】で、どこからどこまでが【データ部分】なのかというのをパッと見では判断できない。それはコンピュータも同じ。
そこでアドレスによって管理する。
「1番地から3番地までの【0101 0001 0111】は足し算の命令文ですよ」とあらかじめ決めておくわけだ。
で、4番地に足される数を、5番地に足す数を入れたりする。
これは物凄く単純化しているので、実際の挙動を知りたかったらアセンブラを勉強するといい。
で、Cではメモリのチェックをしないので、データ部に「物凄い大きい数」を入れたりするとデータ部の番地をはみ出してメモリの別の番地に入りきらないデータが書き込まれちゃったりする。
その「本来書き込まれちゃいけない場所」に意図的に上書きしたりすることで、コンピュータの挙動を狂わせるわけだ。
これはバッファオーバーフローという古典的な攻撃手法だが、単純なバグのこともあれば意図的に作成されることもある。
攻撃目的で意図的に作られたものがウイルスだ。
もちろん、これは話を分かりやすくするためにした単純な例なので、ウイルスには他にも様々な種類がある。
しかし、どれにも共通するのがコンピュータやソフトウェアの脆弱性を狙ったものであり、こればかりは防ぎようがない。
なぜなら複雑化しすぎていて、たいていのソフトウェアには出荷時で既に2万にも及ぶバグが内包されているからだ。
大規模なソフトになるとそれはもっと増える。
あー、やっぱ長くなった(´д`)
ちょい中途半端だけど強引にまとめる。
・ウイルスはプログラム
・作るのは簡単
・大体はソフトウェアの脆弱性を狙って作られる
ウイルスを作る目的は、愉快犯だったりハッキングだったり様々。
そんなわけで次回のハッキングへと続くざます。
あ、ウイルス対策を書いておかなきゃ。
ウイルスソフトを入れておけばたいていの有名なウイルスには対応してくれる。
でも定期的に【定義ファイル】を更新しないとダメ。
ウイルスはプログラムなので、その中身のコードの特徴をしるしたものが【定義ファイル】。
この定義ファイルとマッチングすると、ウイルスだと認定されて駆除される。
なので、新しいウイルスが出ちゃった場合は、定義ファイルにその特徴が書かれていないので、ウイルスソフトをすり抜けて感染しちゃうこともあるので要注意。
一番大事なのは怪しげなサイトに近づいたり、知らない人からのメールは開かないとかそんな当たり前のこと。
君子危うきに近寄らず(σ・∀・)σ