「辞書攻撃」を含む日記 RSS

はてなキーワード: 辞書攻撃とは

2017-09-11

https://anond.hatelabo.jp/20170910205249

まじな話をすると、N予備校プログラミング入門コースやるのがオススメ

https://www.nnn.ed.nico

一日8時間勉強時間があるなら、だいたい一ヶ月で終わる内容。

月額1000円だけどしっかり勉強すれば一ヶ月の無料間中に終わると思う。

もともとN高等学校のノンプログラマーの生徒をWebエンジニアとして就職させるために作られたカリキュラム講師曰く去年はこれで二人エンジニア就職を決めたらしい。

内容も相当親切に説明していて、プログラミングで何か作るだけじゃなくて、就職必要な環境構築やセキュリティまでみっちりやる。

http://qiita.com/sifue/items/7e7c7867b64ce9742aee#%E3%82%B3%E3%83%B3%E3%82%BB%E3%83%97%E3%83%88%E3%82%92%E3%82%82%E3%81%A8%E3%81%AB%E6%A7%8B%E6%88%90%E3%81%95%E3%82%8C%E3%81%9F%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%A8%E5%86%85%E5%AE%B9

講師が書いてる入門コースで習うことがまとめ。テキスト教材もあるけど授業も1項目を2時間で説明している。授業は週2の生放送とそのアーカイブがある。

↓みたいなことが学べる

----

Webプログラミング入門コース

Web ブラウザとは (Chrome, デベロッパーコンソール, alert)

はじめてのHTML (VSCode, HTML, Emmet)

さまざまなHTMLタグ (h, p, a, img, ul, tableタグ)

HTMLで作る自己紹介ページ (HTMLタグ組み合わせ, コンテンツ埋め込み)

はじめてのJavaScript (JS, ES6, エラー)

JavaScriptでの計算 (値, 算術演算子, 変数, 代入)

JavaScript論理を扱う (論理値, 論理積, 論理和, 否定, 比較演算子, if)

JavaScriptループ (ループ, for)

JavaScriptコレクション (コレクション, 配列, 添字, undefined)

JavaScript関数 (関数, 関数宣言, 引数, 戻り値, 関数呼び出し, 再帰)

JavaScriptオブジェクト (オブジェクト, モデリング, プロパティ, 要件定義)

はじめてのCSS (CSS, セレクタ, background-color, border)

CSSを使ったプログラミング (transform, id, class)

Webページの企画とデザイン (企画, 要件定義, モックアップ, 16進数カラーコード)

診断機能の開発 (const, let, JSDoc, インタフェース, 正規表現, テストコード)

診断機能組込み (div, 無名関数, アロー関数, ガード句, truthy, falsy)

ツイート機能の開発 (リバースエンジニアリング, URI, URL, URIエンコード)

Linux開発環境構築コース

LinuxというOS (VirtualBox, Vagrant, Ubuntuインストール, OS, CUIの大切さ)

コンピューター構成要素 (ノイマンコンピューター, プロセス, lshw, man, ps, dfの使い方)

ファイル操作 (pwd, ls, cd, mkdir, rm, cp, mv, find, ホストマシンとの共有ディレクトリ)

標準出力 (標準入力標準出力標準エラー出力パイプgrep)

vi (vimtutor)

シェルプログラミング (シバン, echo, read, 変数, if)

通信ネットワーク (パケット, tcpdump, IPアドレス, TCP, ルーター, ping)

サーバークライアント (tmux, nc, telnet)

HTTP通信 (http, https, DNS, hostsファイル, ポートフォワーディング)

通信をするボットの開発 (cron, ログ収集)

GitHubウェブサイトの公開 (GitHub, リポジトリ, fork, commit, 情報モラル)

イシュー管理とWikiによるドキュメント作成 (Issues, Wiki)

GitとGitHub連携 (git, ssh, clone, pull)

GitHubへのpush (init, add, status, インデックス, commit, push, tag)

Gitのブランチ (branch, checkout, merge, gh-pages)

ソーシャルコーディング (コンフリクト、プルリクエスト)

Webアプリ基礎コース

Node.js (Node.js, nodebrew, Linux, REPL, コマンドライン引数, プルリク課題)

集計処理を行うプログラム (集計, 人口動態CSV, Stream, for-of, 連想配列Map, map関数)

アルゴリズムの改善 (アルゴリズム, フィボナッチ数列, 再帰, time, プロファイル, nodegrind, O記法, メモ化)

ライブラリ (ライブラリ, パッケージマネージャー, npm)

Slackボット開発 (slack, mention, bot)

HubotとSlackアダプタ (hubot, yo)

モジュール化された処理 CRUD, オブジェクトライフサイクル, filter)

ボットインタフェースとの連携 (モジュールのつなぎ込み, trim, join)

同期I/Oと非同期I/O (同期I/O, 非同期I/O, ブロッキング)

例外処理 (try, catch, finally, throw)

HTTPサーバー (Web, TCPとUDP, Webサーバーの仕組み, Node.jsイベントループ, リスナー)

ログ (ログ, ログレベル)

HTTPのメソッド (メソッド, GET, POST, PUT, DELETE, CRUDとの対応)

HTMLフォーム (フォームの仕組み, form, input)

テンプレートエンジン (テンプレートエンジン, jade)

HerokuWebサービスを公開 (Webサービスの公開, heroku, dyno, toolbelt, login, create, logs)

認証利用者を制限する (認証, Basic認証, Authorizationヘッダ, ステータスコード)

Cookie を使った秘密匿名掲示板 (Cookie, Set-Cookie, expire)

UI、URI、モジュール設計 (モジュール設計, フォームメソッド制限, リダイレクト, 302)

フォームによる投稿機能の実装 (モジュール性, textarea, 303)

認証された投稿の一覧表示機能 (パスワードの平文管理の問題, 404, テンプレートのeach-in)

データベースへの保存機能の実装 (データベース, PostgreSQL, 主キー)

トラッキングCookieの実装 (トラッキング Cookie, IDの偽装, Cookie の削除)

削除機能の実装 (データベースを利用した削除処理, 認可, サーバーサイドでの認可)

管理者機能の実装 (Web サービス管理責任, 管理者機能の重要性)

デザインの改善 (Bootstrap, レスポンシブデザイン, セキュリティの問題があるサイトを公開しない)

脆弱性 (脆弱性, 脆弱性で生まれる損失, 個人情報保護法, OS コマンド・インジェクション)

XSS脆弱性対策 (XSS, 適切なエスケープ処理, リグレッション)

パスワード脆弱性対策(ハッシュ関数, メッセージダイジェスト, 不正アクセス禁止法, パスワードジェネレーター, 辞書攻撃)

セッション固定化攻撃脆弱性対策 (セッション, セッション固定化攻撃, ハッシュ値による正当性チェック)

より強固なセッション管理 (推測しづらいセッション識別子, 秘密鍵)

CSRF脆弱性対策 (CSRF, ワンタイムトークン)

安全なHerokuへの公開 (脆弱性に対する考え方, HTTPの廃止)

Webアプリ応用コース

Webフレームワーク (Express.js, フレームワーク導入, 簡単なAPI, セキュリティアップデート, Cookie パーサー, ミドルウェア, 外部認証, ロガー)

ExpressのAPI (app, Properties, Request, Response, Router)

GitHubを使った外部認証 (Passport, OAuth)

スティングフレームワーク (Mocha, レッド, グリーン, リファクタリング)

継続的インテグレーション (CircleCI)

クライアントフレームワーク (Webpack, Chrome 以外のブラウザでもES6)

DOM操作フレームワーク (jQuery, jQueryアニメーション, this)

AJAX (jQuery.ajax, クロスドメイン, 同一生成元ポリシー, x-requested-by, CORS)

WebSocket (WebSocket, WebSocketの状態遷移, Socket.io)

RDBとSQL (DDL, DCL, CREATE, DROP, INSERT, DELETE, UPDATE, WHERE)

データモデリング (リレーショナルモデル, 正規化)

テーブルの結合 (外部結合, 内部結合, 片側外部結合, JOIN ON)

インデックス (インデックス, 複合インデックス, Bツリー)

集計とソート (SUM, COUNT, ORDER BY, GROUP BY)

「予定調整くん」の設計 (要件定義、用語集、データモデル、URL設計モジュール設計、MVC)

認証とRouterモジュールの実装 (Mocha, supertest, passport-stub, モックテスト)

予定とユーザーの保存 (セキュリティ要件, UUID, 複合主キー)

予定とユーザーの一覧の表示 (非同期処理, Promise, then)

出欠とコメントの表示 (入れ子の連想配列, Promise.all, 子どもからデータを消す)

出欠とコメント更新 (Promiseチェイン, リファクタリング)

予定の編集と削除 (要件の衝突, 関数再利用)

デザインの改善 (this, グローバルオブジェクト)

セキュリティ対策と公開 (X-Frame-Options, Heroku環境変数)

2017-05-21

秘密質問の嫌いなところ

2017-05-12

論理少女ろじか【第1オクテット

$

2046年。東京オリンピックの年に生まれ人間三十路差し掛かる頃。

餃子チェーン店テーブル席で、野暮ったい女がビールを飲みながらノートパソコンに何か打ち込んでいる。ひどいクマと死んだ魚のような目はまるで亡者だ。亡者スウェットを着て餃子をつまんでキーボードを叩いている。

紳士が現れる。ボウシを取り、くすんだ色のトレンチコートを脱ぎ、女の対面に当然のように座る。老紳士は老いているからか、挙動がぎこちない。

「やあ、赤坂くん」

女は答えず、画面を見ながらチャーハンゆっくり口に入れ、咀嚼する。

赤坂くん、赤坂ちとせくん。ワシじゃよ」

女、赤坂無視し続ける。ポッケからイヤホンを取り出し、耳にはめ込む。無言の意思表示だ。老紳士はしばらく黙っておいて、それから何を思ったか、半分衝動的に赤坂パソコンをパタンと閉じてしまう。

「おい」

乱暴に、短い抗議の意を示す赤坂。老紳士とぼけて、それを意にも介さず用件を切り出した。

ロシア上空に、GPS衛星偽装されたアメリカ軍の偵察軍事衛星がある。それにちょっと侵入(はい)ってきてほしい」

手に折りたたまれコートポケットをさぐり、メモリードングルを取り出す老紳士赤坂はそれをむしり取って、小さな機械差し込み、それを有線でパソコンに繋いだ。

あいかわらず厳重だな」

パソコンに直接差し込むのは、信用できる機器だけにしてるんです。教授あなたからそう習ったはずですけど」

呆れる老紳士皮肉を返すと、赤坂メモリードングルに入った資料を開いた。

「5ページ目にリストされているETN-G-129がそれだ。表向きは、商用オフシェル化の一環として宇宙関連企業パラジウム社が受託打ち上げたBlockⅢ代替GPS衛星だ。しかし、実態はちょいと違う」

ある資料には、膨大かつ一般人には意味不明な数列が延々列挙されていた。2桁の16進数が大量に連なっている。しかし、彼女にはこれらの意味が分かる。

ロシア衛星への通信の傍受……」

「そうだ。しかも、暗号化されていたものをご丁寧に平文にして転送している。NSAも随分と腑抜けものだよ」

注文を取りに来た店員にお冷を頼んで追い返す老紳士。彼がひどい下戸であることを赤坂は知っていた。

「こんなもの、私にどうしろと?」

「まあそうだな。依頼主はアメリカからアクセスを止めさせろと言っているがな、それじゃあんまりまらんだろ」

店員が会話を中断させ、水を置いていく。老紳士一口いかにも老人といったしぐさで飲む。

赤坂くんの好きにしていい。おそらくコントロール系統NORAD接続されている。君の腕ならば、衛星踏み台に使うのも良かろう」

「それだったら、もう少しマシな手があるし、だいたい軍やら何やらに侵入するのはあなたの持ってくる依頼のせいじゃないですか」

「はて。ワシはバス接続危険性以外にもこう教えたはずだがな。『君たちは楽しい楽しいオモチャを手に入れたのだ』とな」

ーーーーーーーーーーーーーーーーーーー

帰る途中。コンビニに立ち寄り、ソフトクリームを食べるための座席に座り、キーボード付き携帯端末公衆無線ネットに繋ぐ。会員登録しろとせがむ画面を消し、スクリプトをいくつか走らせると、すぐに管理者権限が手に入る。

いくつかプログラム自動インストールさせ、オニオンルーティングVPN秘密回線を作り出す。これで発信元特定が困難になる。

そこから接続するのはとあるアメリカ軍人の個人端末だ。以前とあるショッピングサイトから流出した情報を使って、たやすく乗っ取る。今、アメリカはだいたい朝の10時。運が良ければ、軍人は軍施設内にいるはずだ。果たして軍人施設内におり、乗っ取った端末から施設無線ネット接続出来た。

軍用システムちょっと頑丈で、コンビニサーバほど簡単侵入らせてはくれない。辞書攻撃を仕掛けつつ、母校たる東京電波大学の誇るスーパーコンピュータを使って秘密鍵の推測を行う。

20分程度かかって、なんとか秘密鍵を割り出した。同じ公開鍵無線ネット接続に使いまわされていたのはラッキーだった。こうして米軍システム侵入できた。

しかし、いくら同じ米軍システムと言えど、見たところこの施設はただの空軍基地。件のスパイ衛星コントロールシステムはそこには無いようだ。

そんなことは赤坂最初から分かっていた。赤坂の狙いは、空軍基地にある衛星通信用のアンテナだ。これを使い、標的の衛星の近くにいる衛星アクセスし、乗っ取り、そこから標的の衛星アクセスするのだ。

これをやってみると上手くいかない。アンテナから衛星が遠すぎたのだ。仕方なく他の米軍基地をまた乗っ取り、やっと標的にアクセスできた。早速データベースを覗きこむ。

「確かに、教授の言うだけの価値は多少あったかもな」

中身は、ロシアと米NSA秘密鍵などでギッシリだった。これだけ色々あれば、次また教授が何か言ってきても楽になんとかなるだろう。

衛星はーーNORAD接続されている。ーー踏み台にするのも良かろう』

教授のほざいたことをふと思い出し、コントロールシステムへの信号偽装フレームを紛れ込ませてみる。偽装パケットには小さなフレームが仕込んであり、相手システムが受け取ると即座に実行され、こちらに諸々の情報を返してくる。すると米空軍心臓を掌握したも同然である

いささか満足し、帰る準備として証拠の記録であるセキュリティログ隠滅しようとして気づいた。セキュリティログが明らかに不自然だ。誰かが一部を消したのだーー赤坂が今やろうとしているように。

「私以外に、誰かが侵入っていたんだ。しかも、私とほぼ同時に」

少し気味が悪かったが、適当証拠処分し、衛星は傍受したデータではなくランダムに生成したデータ送信するようにしておいて、その場は終わりにした。

ーーーーーーーーーーーーーーーーーーーーー

レジに座り、大きなあくびをした。普段赤坂平成商会でアルバイトをしている。平成商会は新横浜にある、電子パーツの問屋だ。マニア業者けがやって来て、一般人にとってはガラクタしか見えない物を買い漁る、知る人ぞ知る店である

「やあ君。ペケ86kのキーボードを探しているんだがね」

声をかけられ、顔を上げた。教授だった。ふざけている。そんなもの、彼が探しているはずもない。依頼の成果物を取りに来たのだ。

「これ、衛星コンソールへのリンクです。米軍施設にあるコントロールシステムの電源が付いている限りは、自由に例の衛星コントロールできます

事も無げに言い、携帯端末二次元コードを表示して差し出す。教授はうなずき、コード写真に撮る。

報酬はこれだ」

教授は提げてきた紙袋から何か取り出した。大きくて古臭い中世コンピュータ周辺機器だ。

「ペケ86キーボード……」

「ずいぶん探したんだぞ」

教授はなぜか誇らしげである。これには呆れるしかない。

「そうそう。ウチの大学スパコンあるだろ。あれが短時間何者かによって不正利用されてたらしくてな。学内大騒ぎだ」

ペケ86kのキーボードを撫でて、赤坂は目を逸らした。

「ワシの研究室にもちょっと来てね、誰がやったか調べてくれって言うもんだから見てみたら驚いたよ。RAM公開鍵がたっくさん入っておったよ。あれがNORADの鍵かね」

「いや、あれはどっかの米軍基地の鍵でした。NORADの鍵は私が大事に保管してます

「鍵は大事に保管ね。当然だ」

教授が帰った後。店主の勧めでペケ86kを店頭に展示すべくパソコンに繋いでいる時。

「あの……すみません

どこかから女の声がするではないか。嫌だな、怖いな、と思いながら声の方向をたどると、一つの端末が音声通信をしていた。

これだからP2P通信は。無視して通信ソフトを落とす。が、何度やっても立ち上がる。

ちょっとお尋ねしたいんですが……」

電源を落としても、もう一度つく。コンセントを引き抜くと、別な端末に移る。

「もう、やめてくださいよう。ちょっとぐらい話きいてくれたっていいじゃないですか。ひどい」

あんた誰。メンヘラ出会い厨?」

「いやいや、あなたこそ誰なんですか……?米空軍迎撃システム侵入したの、あなたでしょ」

背筋がぞっとする。不自然に消えていたログを思い出す。

「私はただのバイトだ。消えろ」

キーボードを叩き、スクリプトを走らせて回線遮断しようとするが、文字入力できない。

ネット切ろうとしてますよね。それはボクが困るので、キーボード接続を切りました。ははっ」

ここで赤坂確信する。こいつがあの不自然ログの正体だと。赤坂と同時にNORADクラックしたハッカーだと。

気持ち悪い」

「心外だなあ。ボクはあなたに興味があってはるばるここまで来たんですよ。ちょっとぐらい相手してください……」

突然10秒程度途切れる。やっと消えたかと思う。

「よっと」

後ろで声がする。メイドロボだ。やつは消えなかった。それは淡い期待に終わった。やつはメイドロボを乗っ取った。

ますます気持ち悪い」

やつは不思議そうに自分の手や服を眺めた。

ここの店主はメイドレトロPCが大好きだ。置いてあるロボは無駄に美形の機種を買い、無駄にフリフリでクラッシックステレオタイプメイド服を着せられていたのだった。

赤坂呆然としていると、メイドロボは向き直り、はにかんで言った。

こんにちはクラッキングのお姉さん。ボク、ろじかです。どうぞよろしく」

 
アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん