楽天を偽装したメール...完成度高いな...職場のメールアドレスに楽天カードからの「カード利用のお知らせ」が、迷惑メールフォルダ内に落ちてる。職場のメアドで楽天さんのカードは作っていない。いって、いつも送られてくるメールとほぼおなじ雰囲気。カード会社のメールが迷惑メールフォルダの落ちる段階で、怪しいけどな。細かく見ていくと「Edyのチャージ」金額が、10,276円。5,000円単位でチャージしているし、276円の端数なんやねん。リンクにマウスを「移動」させURLを確認すると、「楽天e-NAVIにログイン」は正しそうなURL。「Gmailアドレスをご登録の会員様へ」あたりから怪しそうな短縮URLがぞろぞろ。アカウント狙いっぽい。仕方がないので最終段階の確認。メールヘッダ表示をしてみたら、案の定。esmtpa...しっかしまあ、よくできたフィッシングメールだわ。学生さんがテスト期間中につき、教員による収録でお送りしました。全国高専プロコン第29回阿南大会の大会の開催概要が発表となりました。収録の模様をお送りしました。専攻科の実験でCudaを用いている物があり、プログラム編集や動作結果のパソコンとのやり取りが面倒で...といった相談を受ける。インストールのお手伝い。Cuda環境が動かなるのが不安なので、既存環境は極力触らずに対応。サーバをインストールして、起動すればいいだけだった。付きではないけど、早々に入れておく。翌日には公開されたな。前回授業の暗号化の説明でも解説したように、パスワードはブルートフォース攻撃をうければ、いつかはパスワードが破られる危険性がある。いった対策で最も重要な方法が、2段階認証(多要素認証)である。この方式では、通常のパスワード入力の後に、以下の様な方式でワンタイムパスワードを入力することでログインが可能となる。携帯電話にテキストメッセージ(SMS)でワンタイムパスワードを送る。音声を用いると、電話がかかってくると機械音声でワンタイムパスワードを読み上げてくれる。認証システムアプリは、時間で変化するワンタイムパスワードが表示される。2段階認証を設定するための例を示す。各自が利用しているインターネットサービスの中から1つを選び、2段階認証の設定を行うこと。インターネットサービスを一切利用していない人は、暫定で入会し課題終了後解約すればいい。あるので、自分にとってセキュリティ上重要なサービスについて設定を行うこと。2段階認証で問題がある場合は、このレポート課題終了後、2段階認証の設定を外せばよい。レポートでは、2段階認証の設定中の画面、ログイン時の2段階認証が行われている画面、受信したワンタイムパスワードの例などを画面のキャプチャなどで取得し、その手順の流れを解説し、考察として2段階認証の利点と欠点について記載すること。キャプチャ画面をレポートに貼り付ける際は、自分の個人情報が記載されないように注意をすること。全てのサービスで2段階認証の設定を終えている人は、いくつかのサービスで2段階認証を用いてログインする手順を説明せよ。2段階認証を使いたいと思うかもしれないけど、慣れない学生さんがログインできなくなる可能性があり、一部の教職員しか使えない。セキュリティインターネットをクラッカーからの攻撃をうけないように守る場合、以下の3点の対策が重要となる。インターネットの経路での対策サーバ側での対策パソコン側での対策バッファオーバーフロークラッカーがサーバを攻撃する場合、サーバ上のプログラムの脆弱性を利用する。サーバプログラムの脆弱性で最も典型的な攻撃方法は、「バッファオーバーフロー」がある。ウィルスのプログラムを実行してしまう}こういったプログラムは危険なので、こういうミスが見つかったらプログラムの更新が重要。ファイアウォールサーバで動かしているプログラムにバッファオーバーフローのような不備が残っていて、全世界のどこからでもこういった不備があるプログラムに簡単に接続できたとしたら、極めて危険である。サーバで動くプログラムは、接続するためのポート番号が決まっているので、相手のコンピュータのIPアドレスが分かったら攻撃を仕掛けてくるかもしれない。これらの接続をできなくするための方法で、例えば学内のWebサーバへの攻撃を防ぎたいのなら、ルータで「宛先ポート番号が80のパケットは廃棄」といった設定をすればよい。危険な攻撃を加えてくるコンピュータのIPアドレスがわかっている場合は、「送信元IPアドレスXX.XX.XX.XXのパケットは廃棄」という設定をすればよい。いった、ポート番号やIPアドレスを見てパケットを遮断するルータは、FireWall(防火壁)と呼ばれる。ファイル共有)を禁止など(ブラックリスト型)、基本は全面禁止だけどポート番号22(ssh)は許可(ホワイトリスト型)など。mallocとfreelist2018年1月16日C言語では、動的メモリ領域をどのように管理していくのか解説する。動的メモリ領域とフリーリスト動的なメモリ領域(ヒープ領域)は、malloc()関数で処理用のメモリを借り、free()関数で使わなくなったメモリを返却する。順番のようにはならない。呼び出されたときに再利用を行う。この再利用するメモリ領域は、簡単に扱えるようにリスト構造にして保存する。メモリサイズが一定として説明を行う。中にあれば、それを使う。いいサイズが無い場合は、それより大きいメモリブロックの後半を切り分けて、貸し出す。繰り返すと、小さなメモリブロックばかりになってしまい、malloc()ができなくなる。返却される際には、隣り合うメモリブロックと併合できるかを確認し、大きなメモリブロックになるような処理を行う。繰り返すと、最悪、以下の図の様に、使用中領域(赤)とfreeされた未使用領域(黒)が交互に並ぶ状態が発生するかもしれない。この場合、全体の未使用領域の合計では十分なサイズでも、小さなメモリブロックばかりとなって、大きなメモリブロックを要求されても十分な大きさのメモリが見つからない状態が発生する場合がある。この状態をヒープメモリの断片化といい、使用しづらい小さなメモリブロックはヒープホールと呼ばれる。開放する際に発生する問題について説明し、その問題の解決法として参照カウンタ法を説明した。開放できない状態が発生する場合があることを説明した。開放する処理は、複雑なデータ構造の場合かなり処理の記述が大変になる。そこで最近のプログラム言語では、ガベージコレクタがある。このままでは、不要となったデータ領域がメモリに溢れ、メモリ不足が発生してしまう。そこで、一定量のメモリを使い切ったら、不要なメモリ(ゴミ=ガベージ)を回収(コレクタ)する。動的メモリの領域すべてに「未使用マーク」をつける。実際に使用している変数や、その変数が指している領域には「使用中マーク」をつける。マーク処理が終わったら「未使用マーク」の付いているデータは誰も使っていないので回収する。他にも、コピー法といった方法もあるが説明は割愛する。上で述べた様に、ガベージコレクタはプログラムを一旦停止し、全動的メモリ領域を検査するという手間のかかる作業を行うため、通常は「一時的にプログラムが止まる」ことからリアルタイムに処理を行うような場合には、極めて不都合が多い。このため、最近では参照カウンタ法の技術なども取り入れ、局所変数は参照カウンタ法の技法を中心に回収し、大域変数はガベージコレクタの技法で回収する。いった処理は不要である。代入するといった処理を明記するなどのテクニックが重要となる。局所変数とスタック局所変数は、関数に入った時に作られるメモリ領域であり、関数の処理を抜けると自動的に開放されるデータ領域である。関数の中で関数が呼び出されると、スタックには戻り番地情報を保存し、関数に移動する。最初の処理で局所変数領域が確保され、関数を終えると局所変数は開放される。この局所変数の確保と開放は、最後に確保された領域を最初に開放されることから、スタック上に保存される。演習(ハッシュ法)ハッシュ法のプログラム(オープンアドレス法もしくはチェイン法)を用いて、(1)名前と電話番号,(2)名前と住所,(3)名前と誕生日について、名前をキーとして検索するプログラムを作成せよ。1」の番号のテーマに取り組むこと。レポートを作成する際には、ハッシュ関数を変更してどういった変化があるか確認せよ。ハッシュサイズは、10〜20件程度で良い。