「XSS」を含む日記 RSS

はてなキーワード: XSSとは

2024-01-07

anond:20240107011938

XSS防止のためだろうけど、いくつかのしょーもないHTMLは使えちゃうしな

2023-09-23

例のSQLwrite upいくつ見てたら、他にも脆弱性を書いているアカウントあった。けど、ああいうのって場合によっては不正アクセスにとらえられるんじゃんかあったっけ?

確か以前XSS試したらプロパイから制限食らったとかあったような

2023-08-27

恒心教徒だけど、お前ら今さらいい子ぶりっこするなよ。

私は恒心教徒、といっても犯罪行為をする悪芋では無いし、カラケーのメインスレを追うぐらいしかやってない。書き込みほとんどしていない。

サケーの頃から見てるから、8年ぐらいかな。

このあいだ、いまだに続く「恒心教」の連鎖:ロマン優光連載254 | 実話BUNKAオンラインという記事話題になってたんだけど、いや、お前らがそれを言うか? という意味で、少しイラっとした。

私は、若いころから悪質なサブカルが好きで、村崎百郎とかラジオライフとかを楽しんでたんだけど、このロマン優光も、コアマガも、そういう悪質サブカルに繋がる連中じゃないですか。

コンビニトイレ汚物入れ漁ったり、コードレスホンや消防救急無線を傍受してニヤニヤしたり、ピッキング練習したり、樹海死体探しに行ったり、あるいはそういうレポートを読んでニヤニヤしてたわけじゃないですか。

はてな村だってそうで、はまちちゃんXSS仕掛けるのをバカ笑いしたり、Hagexが胡乱な人たちを小ばかにしたのを拍手喝采していたわけじゃないですか。

それを、何を今さらいい子ぶりっこしてるのかと。

で、私は、いわゆる淫夢とかは面白いと思ってないし、暇空も仁藤が嫌いだから一定の支持はするけど、その言っていること(認知プロファイリングとかw)はアホくさいと思ってるので、そういうのと恒心教は少し違うと思ってる。

まず、恐らく、多くの恒心教徒は、自分たちのやっていることは、犯罪であり悪いことであるというのを認識している。唐澤弁護士を恨んでいないし、たぶん嫌いでもない。むしろ、好きかもしれない。

しかし、それ以上に、新しい技術に挑戦し、今まで考えもしなかったアイデアを実現し、社会の秩序をバカにして、エラソーな連中をうろたえさせるのに、面白くなり、胸が高鳴り、爽快な気分を感じるのだ。

そういえば、ロマン優光記事で触れてたネトウヨ春のBAN祭りや、余命騒動なんかも面白かったし、はすみとしこ特定されたりしたのは面白かった。あと、安倍晋三が殺された時もゲラゲラ笑ってた。別に安倍晋三は嫌いじゃないんだよ。でも、面白いじゃないですか。

あと、10年もやっているのか、まだやっているのか、という指摘が多いけど、最近の大きな流れとして、過去数年、外伝主人公(唐澤弁護士や元高校生と直接関係ないターゲット)を狙った動きが中心だったのが、また唐澤弁護士回帰してきたというのがある。つまりリバイバル的な流れがこの1年ぐらいで強くなってきた感じがある。

2022-08-09

これは結局 XSS でも大丈夫にするにはどうすればいいの?

https://b.hatena.ne.jp/entry/s/blog.flatt.tech/entry/auth0_access_token_poc

正直完全に XSS を無くすのってかなり大変じゃないですか?

SPA を諦めれば良いのであればいいけど、SPA じゃなければ大丈夫なの?

2022-03-17

格好いいセキュリティ用語

そもそもセキュリティ用語はカッコイイのが多いのだけれどその中でも個人的に好きなやつ

Man-in-the-Middle攻撃マンインザミドル攻撃

一番好きな奴

略すとMITM攻撃

略してもかっこいい

スタンド名っぽい、っていうか5部にいた

Birthday攻撃バースデー攻撃

日本語にすると「誕生日攻撃」でクッソださい

でもBirtuday攻撃バースデー攻撃って書くとサイコパス感が出てくる

ジョーカーとかがやってきそう

Dumpster Diving(ダンプスターダイビング

「かかったな!くらえ、ダンプスターダイビング!」とか言いそう

なんかやばそうな攻撃手法

ハッカーの超絶技法によって行われるとんでもない手法に思える

実際にはゴミ箱を漁るだけ

Cache Poisoning攻撃キャッシュポイゾニング)

まるでBC兵器のような感じ

キャッシュっていうのとポイズニングっていうのが組み合わされるところも好き

Reverse Brute Force攻撃リバースブルートフォース

ブルートフォース攻撃もまぁまぁかっこいいけどリバースが付くとかなりヤバい感じが出て好き

ReverseとForceが組み合わさることでアンチATフィールド的な感じが非常に良い

Credential Stuffing(クレデンシャルスタッフィング)

スタッフィングのフィのとこが好き

タッキングだとなんかダサい

フィが良い

Cross Site Scripting(クロスサイトスクリプティング

略すとなんとXSS

CorssがXになるとかかっこよすぎでしょ

というか略したら格好いいけどそのままだとダサい

その他

他にもいっぱいある気がするけど思い出せない

だいたいがカッコイイやつが多い

2022-01-07

経験から1ヶ月!Pythonで観る将ライフを向上させた話(プログラム編)

まとめ

プログラミング経験から1ヶ月ほどで、将棋評価値の新たな方法でのグラフ化を行うPythonツールを作った。

https://github.com/k-the-p/notherscore

この記事は2本立てです。プログラミングより結果のグラフ将棋に興味がある方はもう一方の将棋から読むことをおすすめします。

未経験から1ヶ月!Pythonで観る将ライフを向上させた話(将棋編)

目標

評価値以外の観る将の楽しみとして、手の広さの可視化提案する

AIはわれわれアマチュア将棋への親しみを大幅に向上させてくれた一方で、棋士が悩みに悩んだ結果として評価値が下がる手を指してしまったときに、「悪手きたwwww」と騒ぐ主にABEMAのコメント欄には忸怩たる思いがあった。

とはいえ、もう評価値を知らなかった時代に後戻りするなんてことは誰にもできないだろう。そして、電王戦から将棋にハマった自分自身としても、AI否定はしたくない。

であるなら、AIを用いた新しくよりよい将棋の楽しみ方を探っていくしかないのではないか

以前から私は、「AIの手を指せるなら人間も苦労しないんだよなあ」と思っていた。あるとき藤森哲也先生Youtubeチャンネルで言っていたことを聞いて得心がいった。「AIの一手は最強の一手なんです。確かにプラス1000点になるけど一手間違えた瞬間にマイナス何百点になるような綱渡りの手。それよりもアマチュアの皆さんにはプラス数百点で得は少ないけど安全な道、最善の一手を学んで欲しい」(大意)と。

ここで言う「最強の一手」に人間にして最も近いのは紛れもなく藤井聡太四冠であろう。藤森先生アマチュアに向けて喋っていたが、その葛藤は間違いなくプロの中でもあるはずである渡辺明三冠が言うように「藤井くんと全く同じスタイルを今から目指しても絶対藤井くんより強くなれない」のは自明であるからして。

私はここにドラマがあると思う。また、最強の一手と最善の一手が等しく「いい手」に見えてしまうわれわれアマチュアとしては、そこを機械に教えてもらえるのであれば、棋力向上にも繋がりそうである

具体的目標

第1候補手と第2候補手の評価値の差を取ってグラフ化すればよさそう?

(差が小さければ手が広い、差が大きければ絶対手に近い、綱渡り

目指すのはあくまで便利な将棋ツール将棋AIを作りたいわけではないので、将棋AI自体局面を入れたら評価値を吐く謎の箱という扱いでよい。

手法

Python一択

グラフ化や数値の扱いだけでなく、将棋AIとのやりとりをやってくれるあれこれもあるようなので。

あと習得が楽だと聞いた。その話を教えてくれた人はもう10年間英語学習法をブクマし続けてるけど。

あと「読みやすコードじゃないと動かない」って設計思想がかっこいい。ついでに言うといわゆる「おまじない」が少なそうなのも魅力。(CのHello world挫折した経験あり。studio.hって何……)

何をしたか

詳しい人に聞く

プログラム講師をやっている?方が音楽制作を初歩からやってみる、という(残念ながら)リアルタイム視聴者が俺だけしかいないような配信があったので、音楽の基礎(についての知識は持っていた)を教えてあげたお返しのような形で、「pythonでこういうことがしたくてこういうライブラリがあるのはわかった。経験HTML+CSS変数導入前、Bootstrapなんてなかった)のみ。どうしたらよいか」という質問をしたら、「progateは簡単すぎると思うのでPaizaが丁度いいのではないか」というアドバイスを頂き、比較もせずに即登録したのだが結果的にはこれがドンピシャだった。

Paizaラーニング

最近流行りの、環境構築不要で講座の内容を書いて覚えるタイプサイト

無料で入門講座の序盤を受けていたらふと目に入ったのが、「対象者:これからプログラミングを学びたい方。HTMLがどのようなものかを知っている方。」でYoutuber先生オススメ完璧か?と思った。そして実際に完璧だった。

基本的に1講座3分+演習1~2問+やりたければ問題集たくさんという形式なのだが、これが簡単すぎることなく難しすぎることもなく、俺の知識レベルベストマッチだった。基本的に毎回何か書くことになるので、変数とは~みたいな解説だけで終わる回がほぼ無いのも飽きなくてよい。

Python入門(と言ってはいるがまだこれだけで発展編はない)の見出しは「プログラミングとは」「条件分岐比較演算子」「ループ処理」「リスト」「辞書」「多次元リスト」「関数」「クラス」「クラス発展」「例外処理」に各5~8講座*3分+演習、という感じ。クラス発展の途中で行けそうだと思ったのでドロップアウトして実製作に移った。実際関数まで理解していれば、この程度の小さなツールには十分だった(もしかしたらクラスを使えば多少楽になった場面はあったかもしれないけど)。

また、これは書いてる今気づいたことだが、上のコースで学んだことで、実際に役立たなかったものほとんどなかった(強いて挙げれば辞書くらい?使えてないだけかも)。このこともコース構成の優秀さを示している。

ここまででだいたい2週間くらい。

Google colab

もともとこのサービスは知っていたのと、谷合先生が実際に使っていたように、便利そうなライブラリのcshogiが主にcolab(jupyter)上で動かすことを意図しているようだったので、まずここから入った。最初はcshogiが列挙してくれる特定局面での合法手をリストに入れて、そのリストの項目数=その局面での合法手の数を出力することから始めた。これは本当に簡単にできて興奮した。

学習と好きなことが直結してると、こんなサンプルコードみたいな簡単なことで喜べるのでコストパフォーマンスがよい。

cshogiとやねうら王をusi連携する

cshogiのチュートリアルで紹介されているレサ改というAIがどうもmultipv(有望な候補手を2手以上挙げる)に対応してないらしく、強さ的な問題でいずれ手を出すつもりだった予定を繰り上げてやねうら王との連携を試みる。

makeって何?あー、もりかしてMakefileが無いと動かない?(これを書いている今もこんな理解である)みたいな人間でもなんとかやねうら王をビルド?することはできた。レサ改をcshogiに読ませる数行のサンプルコードがとても役に立った。今でもあの完成品らしき拡張子が無いファイルがなんなのか分かってない。(なお、評価関数nn.binが無いと怒られたのでどこのご家庭にもある水匠4のそれをぶち込んだら動いた。評価関数とやねうら王の分担は今もって理解あやふや)(また、途中でAyane[やねうらお謹製ライブラリ]も使おうとしたがcolab上では上手く動かす方法が分からなかった)

一応これでcshogiで局面の最善手と次善手およびそれらの評価値を呼び出せるようになったのだが、単にdebugでずらずらと余計なものまで出力するのではなく、重要な指し手周りのinfoだけ出力するようにしようとしたが、上手いやり方がわからず、結局こうなった。

sys.stdout = open('out.txt', 'a')
engine.go(listener=print)

ここは絶対もっとマシなやり方があるはずなので、識者の教えを請いたい。

ようやくWindowsPythonVSCodeを入れる

Colab上でまあまあ目処がついたので、この辺りでPython環境を作った。ここまでそれをやっていなかった理由は、「おま環」トラブル可能性をなるだけ遠ざけておきたかたかである環境が悪いのか俺が悪いのか分からない、というのは初心者にとって限りなきストレスである。あーネットが繋がらなくてルーターの設定や接続とか支払いとか文字通り部屋をひっくり返しながら調べてたら実はフレッツ自体が落ちてた件を思い出してイライラしてきた。cshogiはJupyter上で動かすことを意図しているようなので、それで動かなければ自分の書き方が間違っているのだとほぼ確実にわかる。

まあこの辺りはいろんなサイト見ながら仮想化などしつつ普通に仮想化が何か分かってないんですけど。

Jupyter notebook

これまでColab上で書いてきたものは多少の書き換えで動いたので、ローカルにJupyter notebookをインストールして、数字計算グラフ化を試みる。

ちなみにこの時点で得られているデータはこんな感じ。

go
info depth 1 seldepth 1 score cp -47 multipv 1 nodes 483 nps 241500 time 2 pv 3c3d
info depth 1 seldepth 1 score cp -86 multipv 2 nodes 483 nps 241500 time 2 pv 4a3b
info depth 2 seldepth 2 score cp -53 multipv 1 nodes 847 nps 423500 time 2 pv 3c3d 9g9f
info depth 2 seldepth 2 score cp -68 multipv 2 nodes 847 nps 423500 time 2 pv 8c8d 7g7f
info depth 10 seldepth 17 score cp -78 multipv 1 nodes 100163 nps 1963980 time 51 pv 8c8d 2f2e 4a3b 7g7f 3c3d 2e2d 2c2d 2h2d 8d8e 6i7h 8e8f 8g8f
info depth 10 seldepth 17 score cp -111 multipv 2 nodes 100163 nps 1963980 time 51 pv 3c3d 7g7f
bestmove 8c8d ponder 2f2e
go
info depth 1 seldepth 1 score cp 117 multipv 1 nodes 206 nps 206000 time 1 pv 2f2e
info depth 1 seldepth 1 score cp 78 multipv 2 nodes 206 nps 206000 time 1 pv 7g7f
...

今回の小目標は、goで区切られた中からから2行目と3行目のcpほにゃららを取得していい感じのリストにする、というものだ。この辺りは正規表現でなんとかなるだろうと見通しを立てたが、実際そうなった。

ただ、後手が見たとき評価値が後手目線なので、それだけにマイナスをかけるのはどうするか(そうしなければ、先手+3000点の次が「後手から見て」-2900点だったりして綺麗にグラフにならないのだ)を調べるのに結構時間が掛かった。

また、詰み周りでまたプラスマイナスカンストの絡む計算をしたくないのもあり、数値にNaNを入れてグラフ表記を省略することにしたのだが、そうするとnumpyの関係整数(とNaN)しか扱わないのに浮動小数点で計算しなければいけなくなって若干気持ち悪かったり。まあ動くのでヨシ!

中間報告

この時点で、ローカルにKIFファイルを保存し、pyファイルでcshogiと水匠を動かし、Jupiter notebookを開き評価グラフと手の広さのグラフを重ねて表示する、というそれなりのものは出来上がった。

簡単に言えばpyファイルで1手10局面(森内チャンネルに出てたHEROZの方が使ってた数字をそのまま使っているので特に意味は無い)探索させ、最善手と次善手についての生の評価データを吐き出させ、ipynbでそれを整形し、グラフ化している。

基本的に全部VSCode上でできるので、慣れれば計算時間も含めて10数秒で結果が出るのだが、このワークフローはいかにも美しくない。

なので、Flaskという簡単らしいフレームワークを使ってローカルWebアプリとして使えるようにしようと思った。inputとoutputをどうにかするだけだから余裕やろ。

Google colabを触り始めてからここまで1日。圧倒的成長!

ローカルWebアプリを作る

Flaskを学ぶ

Paizaラーニング再び。後半ではデータベースとか本格的な話もあるようなのだが、txtに書き込む一行掲示板を作るまでの前半部を高速で履修(演習は全部飛ばした)。なるほどー、こうやってやりとりするのね、と最低限は完全に理解した

モジュール

Jupyter向けのコード普通Pythonに直してあっちで数字を出してこっちでそれを受けて元に戻して……とかやってると循環参照か何かで怒られることに。その対策に細かく部分を分けて関数にしたのだが、その場合ってもしかしてdefの内部しかまれない?(共通部分も読まれると思ってた)(いや、共通部分は読まれるけど他のdef内が見えないのか?何も分からん)なるほど。こうなると関数の内部から上に戻るためにクラスとか欲しくなるのかなーという感想

最終的にWebに公開しようとこの時点では思ってたので、txtに一旦出力するのが安全性的にどうかとか考えてたのだが、テキストの読み取り周りでハマる。結局抜け出せず諦めた。

以降は、HTMLダブルクオートが抜けてるのに一時間気づかないとか、FlaskのXSS対策対策をするとか、ファイル書き込み設定をミスって2万手くらい蓄積されて評価グラフが大変なことになったが、原因に気づかずひたすらグラフ生成部を調べ続けるなど、非本質的問題にかかずらっていたので書くことは特にない。

GithubVSCodeとなら連携がらくらく

なので、最初にgitignoreしてなかったせいで1万ファイルくらい上げそうになったけど、それ以外は特に問題も無く。中間報告からここまで2日ほど。結局1ヶ月かけずにプログラミングをそれなりに身につけることが出来た。「プログラムを覚えたければ作りたいものを見つければいい」というのは本当だな、と改めて思った。

で、どうなったの?

については将棋編の方で詳しく書いています

https://anond.hatelabo.jp/20220107060727

どれくらい書けるようになったのか、を見たい方は主にvalue_output.py(将棋AI思考させてデータを取り出す)とgraph.py(データを整形してグラフを書き出す)を見ていただければいいかと思います

謝辞

最初にPaizaを教えてくださったYoutuberの方、cshogiを初心者でも使いやすいように作って展示してくださったTadaoYamaoka様、水匠開発者のたややん様、水匠含めこんにちの将棋AIの基盤を作ってくださったやねうらお様、cshogiを通して利用したpython-shogiのKIFパーサーを書いてくださったTasuku SUENAGA様に、厚く御礼申し上げます

最後

私は現在仕事Twitterフォロワー募集しています

30歳無職よろしくお願いいたします。

https://twitter.com/k_the_p

2021-07-21

anond:20210721083153

ブコメのこれも異議があるなー。

Web系はそれなりに先端

誰でもできるレベルだったが、サッとやってみた程度の物を会社で出しているところが珍しかたから、耳目を集めやすかっただけ。

技術的にすごかった事例は思い出せないのに、簡単突破できる Captcha とか XSS とか二重エスケープとかのイメージがあるので、技術会社と名乗るの恥ずかしくないのかなと思う。最近でもサーバーレスポンスはしばしば劇重になる。現代あんなサチり方するのか。手動で調整しているのだろうか。

まり関係ないが、日本最初ソーシャルブックマークサービスとか嘯いていたのは、未だにどうかと思う。アンテナ感度が低いだけだ。

ただ、詳しくない人に分かりやす言葉説明できる人は圧倒的に不足していた。それはダントツにうまかった。

2021-06-25

32    風吹けば名無し@転載禁止 [sage]    2014/11/25(火) 04:07:46 ( tor-elpresidente.piraten-nds.de )

>>29

使えなくは無いけども当職は使わないナリ

kaliかtailsをCDに焼いた方が便利ですを。win系のパスクラならophcrackがオススメナリ

守り方だけど鯖建てたい初心者はhackmeで検索してSQLインジェクションXSS辺りの初歩を学ぶと良いナリ

バッファオーバフローアップデートと設定さえ、やっとけば0dayで無い限りやられることは無いと思うナリ

win系とかの簡易ウイルス発見テクは「タスクマネージャが出ない」「隠しフォルダ強制非表示になる」

サービススタートアップタスクスケジューラに不審exe登録してある」「USBを挿した時autorun.infを上書きしようとする」等々のパターンが多いナリ

とりあえず常駐プロセスサービスがどこの会社のどのソフト理解しておくことも早期発見に繋がるので大切ナリ

防御ソフトとしてはpeerblock、sandboxie、privoxy、EMET、DNSCrypt、comodo firewall辺りと適当ウイルス対策ソフトナリ

ブラウザfirefoxアドオンadblock edge、cookiesafe、noscript、prefbar辺りを入れてprefbarでプロキシとかflashとかjavaオンオフ管理すると良いナリ 

ラッキング下準備

まず、基本となるLAMP自鯖を作って出来る限りのセキュリティを施すナリ

これでLinux系鯖の基本くらいは理解できるようにならないと侵入してもやることが無いナリ

次はツールの使い方を覚えるためにKaliLinuxとかを使って何とかして自鯖セキュリティを破って侵入するか

自分SQLインジェクションとかXSSとか書いて侵入するナリ

なお、簡単に入れる鯖はセキュリティ意識低いので拾ってきたバックドアでも問題無いナリ(例えばrootパスデフォ設定の所とか)

ここまで来たら後は近所の無線をaircrack-ng等でカラッキングtor+tsocksかproxychains辺りを使って恒心するナリ 

2021-06-17

CTOだけど、一ヶ月Web就職レビューしてみた。

https://anond.hatelabo.jp/20210617075257

0. 温度感

基本的現在では、バックエンドフロントエンド運用保守全てができないエンジニア価値は無い。

経験者でも、これらができない/わからないのは、相当恥ずかしいことだと思った方がいい。

典型的はてなー意識の高さ。

上がってるような基本(元増田に上がってるやつの倍ぐらい)が全部立ち上げからできて

2〜3個プロジェクト経験したらテックリード素養が既に身についてそう。

まり、ただのエンジニアにはそこまで要求されない。

プロジェクト的にもどっちかが弱いと

Rails/DjangojQuery+Bootstrapみたいな構成

Amplify/FirebaseにVue/Reactみたいな構成全然あるので

フロントバックエンドも一旦はどっちかでいい。

面接はなんとか抜けてもらうとして、

チーム開発での最低限の目標としては、

成果物から指導学習コストレビューコスト技術負債マネジメントコストを引いた分が正になっていれば

ひとまず「チームに居ていい人」と見なされそう。

チーム的に良くても、経営層にそれで許されるかはわからんのでその辺の立ち回りも上手いことやるとして、

一旦は、正の生産性を目指してほしい。

以後、ブコメで誰一人一ヶ月でできるって言ってなくて笑うので、

一ヶ月というのは無視して、三〜六ヶ月程度をイメージしつつ書いていく。

1. 言語: PythonJavascript

これだけで一ヶ月経つ気がするが正気か。

似たような言語なのでどっちからやってもいいし、両方同時にやってもいい。

どっちかしかやらないならJavascriptおすすめ。後ででてくる、Flaskは適当Expressかに置き換える

現場だとほぼTypescriptなので、Javascriptはある程度慣れたらTypescriptに移行したほうがいい。

どちらも、Python2とES2015以前の記法というレガシーネット上に転がってるので参考にしないように注意。

パッケージ管理単体テストタスクランナー

この辺は6のフロントフレームワークと同時にやる。

コードは断片的なサンプルではなく

一貫性があって

・正しい書き方がされた

お手本プロジェクトをなにか(github書籍など)で手に入れて読むべき。

おそらくフレームワークに乗っかっているので並行して進めることになる。

6. フロントエンドフレームワーク: Vue.js

話の流れで先にこっち

現在コーディングのグッドプラクティスデザインパターンフレームワークの形をしている。

なので、ReactとVueをその思想から理解しきれれば、プログラミング言語の潮流の最先端に追いつけるはずだ。

とはいえ最低限としては使い方が分かるところまで。

TypescriptVue.jsも書き方をどこまで取り入れるかが使用者裁量に任されてるし、

開発でVueとReactのどっちを使うかはチーム次第なので、

一旦React+Typescriptガチガチに書かれたコードプロジェクトを拾ってきて、必死で解読するのがいいと思うなー。

2割ぐらいわかった気になればチーム入ってから(React, Vueどちらだったとしても)動けそう。

パッケージとかテストタスクデプロイ辺りもこのタイミングで拾ってきたプロジェクトを使って学ぶ。

2, 4. ツール: gitDocker

バージョン管理コンテナ思想が優れているのは自明なので、これらはツールと見ていい。

そして、後からプロジェクトに入った人がプロジェクト流儀に沿って使う分には難しいことはなさそう。

採用に来た人がgitとかわかってるとチーム開発経験者だなーって思うし、知らないと未経験者なんだなーって思うし、

そういう意味ではチーム開発の経験があるかどうかの試金石にはされてそう。

構築できる、ではなく、触れる程度で良さそう。

gitプロジェクト流儀によると書いたが、git-flowイメージ図を理解して運用できるのがよい。

https://qiita.com/KosukeSone/items/514dd24828b485c69a05

3. OS: Linux

これは「パソコンの使い方わかってますか」ぐらいの温度感

ファイルパーミッションユーザープロセスのような基本概念理解する

一冊読めば済むだろうし、概念系はさらっておいてほしい。

grepやfindやxargsなどのコマンドを組み合わせて簡単な処理を自動化する

こういうのができるんだなーって言うのを知っておいて、調べつつ書ければ十分。

sedとか正規表現も。

あとはシェルスクリプトとかって思ったけど同様のことはPythonでもできそう。

IPアドレスを調べたり、SSHリモートマシンログインする

地味にSSHログインした先の環境だと、vimが主要なテキストエディタになるので

vimを最低限触ることだけ要りそう。もういらないかもって思ってたんだけどなー。

ファイル開いて入力モードに切り替えて書き込んで保存して終了

チュートリアルする。拡張とかはいらない。

細かく書いたが、LPIC-1の範囲がほどよくまとまっているのでそっちを参照するとよい。

5. サーバーフレームワーク: Flask

フレームワークを覚えること自体重要なのではなく、Web開発の基本を習得することが重要

これが意図なら

HTTPルーティングデータベースSQL認証セッション管理などは当然すべて覚える。

この辺の機能を持った小規模Webアプリを作ってHerokuデプロイすれば一旦完成とみなしてよさそう。

コード書き写しただけにならないようには注意しつつだけど、長く見て5人日ぐらい?

慣れると1日あればいけると思う。

フレームワークもなんでもいい。

軽量である必要もなくて、

Djangoとかでも各コンポーネントがどんな働き方してるか程度はわかるだろうしそれで十分。

余力があれば複数個触ってみたり、人から勧められたらそっちでも。

最近サーバーレス&NoSQL流行ってるのでFirebaseとかもやればいいと思う。

7. アルゴリズム

コメントリーが荒れててウケる

実務プログラミングで最低限必要アルゴリズム力は

「書いてるコード計算量オーダーを把握していること」

に尽きる。

計算量を気にしなかったせいで線形検索メソッドとfor文を組み合わせて

O(n^2)やO(n^3)のロジックを書いてしまって

データ量が万〜十万の本番データで遅延するとか

それらに対して分散や非同期処理で解消しようとするとか、

ちょっとでもアルゴリズムを触った人ならアホらしいなって思うような行為

アルゴリズム不要勢は平気でやるぐらい、両者は溝が深い。

計算量を意識するだけなら、AtCoderABCのC〜D問題辺りが解ければ十分。

8. セキュリティ

有名な脆弱性攻撃手法は、ほとんどフレームワーク等で解決手段が用意されている

(XSS対策自動エスケープなど)

のでアドリブをせずに正しい書き方でやれば良い。

開発現場でもセキュリティリスクがある箇所を1から自前で実装することを経験が浅い者にはやらせないので、

ただただ、フレームワークが正しいとしているやり方をなぞるのが良い。

最後

開発の勉強のやり方としては、

・正しいコード見本を手に入れること

公式リファレンスを読むこと

エラーメッセージを読むこと(そしてググること)

この辺りの習慣があればやってけんのかな、

その他、チーム開発って面では

アジャイルサムライプロジェクト管理)とか

TeamGeek(人間性)とかインプットしておくと共通言語が増えて嬉しい。

この方向で進めてけば、その途中で正の生産性≒足引っ張らないぐらいになれるので、

そしたらやってけるんちゃうーって感じ。

経験から1ヶ月でWeb企業就職する勉強法

取り上げた技術は、本格的な開発でも役に立つもので、最も学習コストが低いものを選んだ。

重要度が低いものは載せていない。たとえばHTMLCSSなんてググりながら書けば全く問題ない。Bootstrapなどのフレームワークも全くやる必要はなく、仮に就職先で使っていたら覚えればいい。

逆に言えば以下に挙げる技術は、そもそも概念自体プログラミングにとって普遍的ものであり、(基礎的な部分を)調べながら使うようではエンジニア失格ということ。

基本的現在では、バックエンドフロントエンド運用保守全てができないエンジニア価値は無い。

以下に挙げた技術(①⑤⑥は他の言語フレームワーク代替可能)が身に付いていなければまともな企業就職することは難しい(もちろん、下らない業務システム下請けで作ってる底辺企業には入れるだろうが)。

経験者でも、これらができない/わからないのは、相当恥ずかしいことだと思った方がいい。

特定言語フレームワークの書き方を知っていること自体意味は無い。

重要なのは、他の言語フレームワークにも共通する基礎を理解すること・保守性やセキュリティなどの品質を高める使い方ができること。

PythonJavaScriptマスターする

この2つは習得が容易だし、今覚えておけば向こう10年腐ることはないだろう。

プログラミング言語完璧理解する必要がある。

基本的な構文や、よく使う標準ライブラリは勿論、高階関数クラス・非同期処理等の発展的な機能も知り尽くしていなければならない。

言語のみではなく、パッケージ管理単体テストタスクランナー等の周辺ツールの使い方も熟知している必要がある。

また、「リーダブルコード」や「コードコンプリート」に書いてあるような良い作法も身に付ける必要がある。


Gitの基本操作を覚える

Gitを使えないのはプログラマーとして論外。細かい機能は調べればよいが、

等の基本的フローは必ずできなければならない。


Linuxの基本操作を覚える

多くの場合、本番環境テスト環境Linuxサーバーであるから、以下のような基本的概念と使い方を知っておく必要がある。


Dockerの基本操作を覚える

環境構築、CIデプロイなどは、現在コンテナを使って行うことが当たり前になっている。

これも細かいことをすべて覚える必要はないが、Dockerfileの書き方や、docker-composeの使い方などは知っておかなければいけない。


⑤ Flaskを覚える

Flaskは、数あるWebフレームワークの中で最も簡単。本当に呆れるほど簡単で、Pythonさえ書ければすぐにアプリを作れる。

フレームワークを覚えること自体重要なのではなく、Web開発の基本を習得することが重要HTTPルーティングデータベースSQL認証セッション管理などは当然すべて覚える。

データベースは、就職したらMySQLPostgreSQLなどを使うことが多いかも知れないが、今はPythonの標準ライブラリにあるSQLite3を使えば十分。

作ったアプリを公開したければ、「Heroku」などにデプロイするのが良いだろう。

追記 2021/06/17 14:07

ブコメで指摘をいただきました。HerokuではSQLite3は使用できないようです。公式ドキュメントに従ってPostgreSQL使用して下さい。

SQLite3はファイルデータを持てる簡易DBなんだけど、Herokuデプロイしてもストレージ的な使い方はできないから、結局PostgreSQLを使う必要あるから注意してね。(DAOを丸ごと書き換える羽目になる)

参考: https://devcenter.heroku.com/ja/articles/sqlite3

ありがとうございます

Vue.jsを覚える

今の時代フロントエンドフレームワークなしで作るのはただのバカ

2021年現在実用的なフロントエンドフレームワークはReactとVueしかない。Vueの方が少し簡単なのでこちらを選んだが、JavaScriptをしっかり理解しているなら大差は無い。

フロントエンドには膨大なパッケージ群があって全部覚えるのは大変だが、とりあえずまずはVue完璧に使えればいい。Webpackの設定などは既存のものを流用すればいい。



基本的アルゴリズムを学ぶ

アルゴリズムは全てのコンピュータ技術の基礎であり、絶対に知っていなければならない。

高速フーリエ変換のような高度な数学必要ないが、クイックソート木構造のような基本的アルゴリズムは当然、その性質を知っていなければならない。

それらは言語組み込み関数や標準ライブラリでも使われており、理解していなければ、それらの機能を正しく使うことができない。

また、プログラムを読み書きする際には、そのコード計算量を見積もれなければならない。

セキュリティを学ぶ

セキュリティは言うまでもなく学ばなければならない。

有名な脆弱性攻撃手法XSSSQLインジェクション・CSRFなど)が何だか理解していて、その対策実装できなければならない。

各種暗号化技術署名などについても、実装の詳細は知らなくていいが、共通鍵暗号や公開鍵暗号などの特性理解する必要がある。

認証パスワード管理などを実装する際は、当然ベストプラクティスに従わなければならない。

2021-05-19

バグ脆弱性(セキュリティホール)の線引

ワクチン大規模接種東京センターの予約システムで発生した、適当数字入力しても予約できるシステムの不備はバグなのか脆弱性(セキュリティホール)なのかを考えていこう。

もし、脆弱性であるとするならば、しかるべき報告フローを取る必要があるからだ。

記事の末尾に参考リンクをいろいろおいておいたので、詳細は確認してほしい。

この問題は、本来するべきチェック処理をしていないのだからバグ一種といえる。

// ただ、改善する気がないのなら仕様となるのだろうけどね。

あるゆる、脆弱性バグの結果起きる。

では、適当数字を入れても予約できちゃうバグは、脆弱性(セキュリティホール)と言えるのか?

もし、脆弱性(セキュリティホール)となるなら、ゼロディでいきなり公開する前に、しかるべき報告フローを取るべきだ。

// ただ、新聞社は、ネットで噂になったもの取材して報道しただけであるからゼロディで公開とは言えないだろうけどな。

個人的意見としては、脆弱性とまでは言えないと思う。

これはタダのバグであって、脆弱性(セキュリティホール)と呼ぶのは言い過ぎだろう。

例えば、教科書レベルの「"<script>alert("XSS");</script>」でXSSを発生させる意図的入力をして、誤動作が発生するなら、それは間違いなく脆弱性(セキュリティホール)といえる。

同様に、SQLインジェクションを発生させる意図的入力をして、何か変なことが起きれば、これも間違いなく脆弱性といえる。

他にも、超でかいデータを送りつけてバッファオーバーフローさせたり、特殊入力をしてスタック破壊して戻り値改ざんして任意コマンドを実行するみたいなものも同様に脆弱性と呼んでもいいだろう。

(注:念のために書いておくが、不正アクセス違法になる可能性があるので、自分の所有するサイトコンピュータ以外へは、これらの入力を試さないように。)

でも、ごく普通入力をしても、エラーとしてはじかないで受け入れてしまうのは、脆弱性ではなく、タダのバグであるように思う。

「こういう操作したら、計算結果が変になった」はバグ領域であって、脆弱性とまでは言えない。

今までの話を簡単に言うとしたら、ドラクエ4で8回逃げたら会心の一撃連続して出るのはバグなのか脆弱性なのか?って話になるのかな。

かに、8回逃げることで、データバッファオーバーフローが発生して、そのような結果になる。

でも、8回逃げるというはやろうと思えは誰でもできる動作であって、これをバグではなく脆弱性(セキュリティホール)と呼ぶのは違和感がある。

この裏技を見つけたとして、脆弱性としてしかるべき報告フローを取らずに公開したこと咎められるとしたら、実に変な話である

これら裏技を試しても不正アクセスと言われて、罪を着せられたり、裏技記事を削除されるとしたら、強烈な違和感がある。

このあたりのバグ脆弱性の線引はどうなっているのか。

今回の事件で、それが一番気になった。

最終的には、裁判裁判所が決めることになるんだろうけど、あまりアホな判決を出して、日本エンジニアの手足を拘束しないでほしいと思う。

参考URL:

ドラクエ4で「にげる」8回でずっと会心の一撃になるバグ、こういう仕組みで起こってたらしい

https://b.hatena.ne.jp/entry/s/togetter.com/li/1715732

■「誰でも何度でも予約可能ワクチン大規模接種東京センターの予約システムに重大欠陥

https://b.hatena.ne.jp/entry/s/dot.asahi.com/dot/2021051700045.html

岸信夫 on Twitter: "自衛隊大規模接種センター予約の報道について。...

https://b.hatena.ne.jp/entry/s/twitter.com/KishiNobuo/status/1394440062125805572

脆弱性の手口、IPA「見つけたらまず開発者IPA窓口に報告して」 コロナワクチン架空予約巡り

https://b.hatena.ne.jp/entry/s/www.itmedia.co.jp/news/articles/2105/18/news145.html

Hiromitsu Takagi on Twitter: "私はこの届出制度の提唱者・設計者・運用協力者・有識者研究会委員であり、IPA広報取材にこんな回答をしたのであれば、出鱈目であり、...

https://b.hatena.ne.jp/entry/s/twitter.com/HiromitsuTakagi/status/1394713619212816385

ワクチン大規模接種「架空ウェブ予約」やったら犯罪? 国は「法的手段」に言及

https://b.hatena.ne.jp/entry/s/www.bengo4.com/c_23/n_13071/

確認作業公益性高い、毎日新聞 接種センター架空入力取材目的

https://b.hatena.ne.jp/entry/s/this.kiji.is/767285347672670208

AERA dot. 記事への防衛省の申し入れに対する見解

https://b.hatena.ne.jp/entry/s/dot.asahi.com/info/2021051900065.html

2020-11-13

自分のことを少しだけ許せた気がする

自分プログラマをやっている。もしかしたらプログラマとは呼べないレベルの幼稚な仕事かもしれないが、職業を聞かれたときはいつもプログラマを名乗っている。

経験からプログラマになったので3年間はプログラミングに関わることをひたすら寝る間も惜しんで勉強をした。プログラミングに元々興味があったのと、一緒に働く人は学校などで勉強してきているのでその人たちに追いつけるようにだ。

勉強したことセキュリティプログラミングの基礎の基礎で誰もが知っていることだと思っていた。だからこそ、それが出来ていない物、人、それを放置しておく自分にも腹が立つようになっていた。

無性に腹が立ったとき、例えばそれが赤の他人企業WEBサイト/サーバであれば報告し、OSSであればPRを送り、仕事であればそのままコードコピペできるレベルで丁寧にsuggestionをした。

しかし次第に腹が立つ物が増えていき、誰も何も頼んでいないのに勝手に忙しくなり、ときには倒れ、最終的にうつ病になってしまった。

そんな中、WEB活動している彼女(?)を見つけた。

彼女(?)のWEBサイトはとても読み込みが遅い。大きいサイズ自分で描いた絵をほとんど圧縮しないままトップページに表示しているからだ。コメント欄があるにも関わらずSSL化もされていない。また、WEBページ自体順位もかなり低い。UX的にもあまりよくない。それでも彼女(?)は今日も楽しそうに絵を描いたりプログラミングをしたりWEBサイト作成したりしている。

不思議と腹は立たなかった。彼女(?)は自分がやりたいことを楽しくやっているだけなのだサイト状態こそが彼女(?)の個性なのだ

そう思うと、今まで何に腹が立っていたのかわからなくなった。

証明書の期限切れ、ドメインの期限切れ、XSS対策不備、ゾンビコンピュータ、全部個性じゃないか

自分が腹を立てる必要などなかったのだ。逆に腹を立てること自体が失礼だった気もしてくる。

そう思うと、なんだか心が軽くなった気がした。

2020-09-29

さやわか氏に幻滅した

サブカル全般に明るいライターというイメージだったけど、以下の記事が酷かったので本当に失望してしまった。

ドライブなしのPS5やXbox、クラウドゲーミングの興隆……ゲーム業界に漂う「次の時代」の雰囲気(さやわか) - QJWeb クイックジャパンウェブ

なるほどなー、と思わされるのは、ソニーマイクロソフト、今回はどっちの新機種にも「ディスクドライブのないモデルが発売される」ことです。

要するにCDとかDVDとかBDとか、ああいディスクを読み込ませるドライブを搭載しない(そして安価な)バージョンを用意しているわけですね。

このあたりはややミスリードで、PS5のデジタルエディションは本当に「ディスクドライブが無いだけ」だが、XSSはそれに加えてGPUメモリの性能が低い。廉価版として同じコンセプトの製品ではない、ということに言及しないのは不親切。

Xbox Series X/Sなんて、なんと2001年に発売された初代Xboxから今まで発売されたすべての機種のゲームが動くそうです。すごい。

こちらも少々ミスリード。XSX/Sの後方互換ホワイトリスト方式で、確かに「すべての機種のゲーム」は動くが、「すべてのゲーム」が動くわけではない。

まあここまでなら「ちょっと書き方が悪いね」くらいで済むが。

一方、PS5のほうは新機種と同時に発売される新作タイトル(いわゆるロンチタイトルってやつ)のラインナップが若干しょぼいんじゃないのという噂がある。というわけで、発売前の下馬評では、わりとXboxのほうに注目が集まっているようです。

これは何を根拠に言っているのか謎(本当にどっかの誰かの放言だけを信じて記事にしてんの?)。『スパイダーマン』新作や『デモンズ』リメイクのあるPS陣営と、大看板の『Halo Infinite』の発売を延期したXbox陣営とで、そこまでローンチタイトルに差があるようには見えない。Xbox後方互換を言うなら、主だったPS4のヒットタイトルを追加費用なしで遊べる「PSプラスコレクション」もかなり強力だと思うが…。

だけど、さっき触れたソニーマイクロソフトがやってるゲームのサブスクは逆で、基本はダウンロードなんですよね。そこがまだ、SpotifyとかNetflixとは違う。

前述したマイクロソフトも負けてはいなくて、すでに『Project xCloud』というスマホ向けクラウドゲーミングサービスを開始したみたいです。あと、ソニープレステ旧型機のタイトルを大量にラインナップした同様のサービスを整備するという噂があります

今回いちばん驚いた記述PS陣営はいちはやく2015年からクラウドゲーミングサービスPlayStation Now」を提供している。PlayStation Nowは後にダウンロードにも対応したが、基本的にはストリーミングサービスだと言える。いくらなんでもゲームライターPS Now存在を知らないとは信じられない。

そもそも新型ゲーム機ですら、今ではほかの国で先に発売されて、日本での発売は数カ月以上経ってから、みたいなことが当たり前になりました。

こちらも酷い。PS4やXbox Oneは確かに日本での発売が遅れたが、PS陣営は「あれは間違いだった」とインタビューで語って、そのとおりPS5は世界同時発売になったし、Xbox陣営前世代の最上位機種であるXbox One Xから(もちろん今回のXbox Series Xも)世界同時発売になっている。特にXboxは、One国内販売が振るわなかったにもかかわらず、それでも遅らせることなく発売してくれている。そうした関係者の労苦を踏みにじる発言だ。

まあ、本当に「知らないならライターやめろよ」としか言いようがない。

2020-09-17

anond:20200917185136

わりと微妙なところではある。

おそらく体感的にはCPUGPUによるグラフィックの差よりもSSDによるロードの差のほうが大きい。

マルチプラットフォームが主流である以上、サードはそこまでXSXに合わせた開発はしないし、ファーストについてはXSSメモリが足を引っ張る可能性がある。

2020-09-16

XSSSEX似てね?ってツイートSEXSSEに見えて原型がわからなくなってた

2020-04-09

anond:20200409192339

全く出てないんだが?

お前ら、串通してるんじゃないのか?串通してると、キャッシュXSSされるから気をつけろよ。

しょっちゅう試してる奴おるし。

2019-09-13

anond:20190913123711

Web側で3層が完結する、ということは、フロントエンドだけでXSSが起こせる

いやXSSって入力手段があってアウトプットを適切にしてなければ起こるのであって3層関係ないでしょ

2019-07-06

7payのセキュリティ審査って何をやってたんだろうか

ここ連日騒がれている7pay。

パスワードリセットリンク送付先のメールアドレスに対して設計上の問題脆弱性が発覚して大変な事態に発展しています

昨日の会見では社長ITリテラシ不足が露呈したり、サービス継続が表明されたりして、いわゆる「祭」の様相を呈しています

また、会見内で「セキュリティ審査実施した」と明言がされました。

https://www.asahi.com/articles/ASM745HHHM74ULFA01Y.html

セキュリティ審査実施していたにも関わらず、何故今回の問題が見逃されたのか。

非常に稚拙な推測ですが個人的に考えられる可能性をまとめてみようかなと思います

セキュリティ審査とは

その名の通り、サービスローンチ前に実施する、脆弱性問題がないか審査の事・・・だと解釈しました。

審査」というとISMS辺りを連想しちゃいますね。

一般的には脆弱性診断とかセキュリティ検査とも呼ばれています。私はこちらの呼び方の方がしっくりきます

以後脆弱性診断と記載していきます

実施した」とはいっても、どういった内容を実施たかはわかりません。

ただ、7payは「一般に公開する」「お金を扱うサービス」になるため、ガチガチ脆弱性診断を実施すべきでしょうし、実際に実施したのではないかと思います

通常、脆弱性診断というと、以下のような項目があげられると思います

抜け漏れあると思うけど、大体どこのセキュリティベンダーでも上記のような項目を診断しているんじゃないかなあと思います

詳しくは各ベンダの診断内容のページを見てみると更に詳しく載っています

LAC、CyberDefence、NRIセキュア、ブロードバンドセキュリティスプラウトなど。

ただ、今回の脆弱性診断が外部ベンダ実施されたのか、内部で実施されたのかはわかりません。

以下、推測をつらつら書いていきます

外部ベンダ発注したが、コスト削減のために対象を削りまくった

脆弱性診断はモノによりますが、診断内容をマシマシにするとエラい額が掛かります

Webサービス診断は見積もり方法が各社違ったり、ツールを使うか手動とするかによって金額も大きく変わってきます

また、数量計算ベンダによってまちまちです。ページ単位であったり、画面遷移単位であったり、SPAであればAPI単位であったり、複合での計算だったりします。

お願いすれば見積もり時にステージング環境で動いているWebサービスクロールして、各ページの評価を付けてくれるベンダもあります

規模と見積もり内容にもよりますが、100~200万といったところでしょうか。

スマホアプリ診断は一本幾らという場合が多いような気がしますね。相場としては50万~100万程度でしょうか。

プラットフォーム診断も内容によるとは思いますが、大体100万くらいかなあと思います

これ以外にWebSocketを使っていたり、別のサービス連携していたりするとその辺りの通信も含まれてくるのでまた金額は上がる可能性もあります

Webサービス200万、スマホアプリ(iOSAndroid)100万*2、プラットフォーム100万とすると、500万円掛かるわけですね。

脆弱性診断をするだけでこれだけのお金が吹っ飛んでしまうわけです。

そしてこれをそのまま発注するかと言われると、多分しないでしょう。

セキュリティお金が掛かる割にリターンが少なく、目に見える結果が必ず出てくるとも限りません。

経営層は中々首を縦には振らないでしょう。

会見でも明らかになったことですが、社長ITリテラシはあまり高そうにありません。

こうなると脆弱性診断の稟議を通すのは中々容易ではなかった可能性もありそうです。

また7月1日に間に合わせたようなところもあるっぽい(?)ので、開発側に資金を全振りしていた可能性もあり、診断に費用を掛けられなかったのかもしれません。

いずれにせよ、全く実施しないのはまずいし重要そうな部分だけピックアップして実施しましょうという話にはなるでしょう。

削れるものをあげていってみましょう。

例えば、iOSスマホアプリ実施しなくても良いかもしれません。iOS上で動くアプリは確かサンドボックス構造になっているはずで、ローカルに何かしらのデータを持っていても外部からアクセスは基本不可であるためです。確か。

そもそもスマホアプリ自体不要かもしれません。7payのサービスへのアクセスインターフェイスとしてのアプリしか提供していないのであれば、取り扱うデータほとんどないと考えられるためです。そのため、スマホアプリAndroidのみ、もしくは両方実施しなくても大きな問題は発生しないのではないかと思います

・・・この辺り私の勘違いというか、「最優先でやるべきだろjk」といった考えがあれば指摘ください。

プラットフォームも、ベンダによります実施しなくとも良いとも思います

ベンダ説明でも、主にポートスキャンをして、空いているポートに対してtelnetで色々したりするといった説明がなされたと思います

Webサービスなら443と、空いていても80くらいしか外部には公開していないので、これは実施しないという選択をしても不思議ではないと思います

サーバコンフィグも、DocumentRootがおかしいとか致命的な設定ミスをしていない限りは見てもらう必要はないでしょう。

そもそも構築手順等はノウハウもあるでしょうし、わざわざ見てもらう必要性はほとんどないわけです。

ワイドショーでは「不正海外IPからで、国外からアクセス許可していた」事が取り上げられていましたが、例えプラットフォーム診断をしていても、この辺りは指摘されなかった可能性があります

実施していればもしかしたら備考レベルでの注意や、口頭で「国内のみに留めておいた方がいいかも」といったことは伝えられたかもしれませんが、「利便性」という観点から実行されることはなかったんじゃないかなと思います

Webサービスですが、ログインログアウト処理は必須でしょう。また、新規登録情報変更、退会処理も重要です。

パスワードリセットどうでしょうか。正直これも重要です。なので、ベンダに依頼するにあたってはここも診断対象としていたはずです。

ところで今回の件では協力会社について様々な憶測が飛んでいますが、NRI説が結構人気みたいです。

ただ、NRIにはNRIセキュアというセキュリティに特化した子会社存在しています

もし脆弱性診断をするとなった場合、そこを使わないという手はあまり考えられません。そもそも発注時にそれを見越して診断費も開発の見積もりに含まれているのではないかと思います

ただし、セブン側が「脆弱性診断はこちら側で発注します」と言っていれば話は別です。

NRIセキュアは診断費用が高いらしいので、コストダウンするために別ベンダに診断部分のみ発注する可能性はあります

別のベンダ発注したことで、抜け落ちた可能性はゼロではないかもしれません。

また、NRIセキュアが実施する場合においても、「ここは抑えておいた方が良い」という機能毎やページ毎にランク付けした資料セブン側に提出することと思われますが、どこを実施してどこを削るかの最終的な判断セブンに委ねられます

考えられる事としてはパスワードリセットの処理を診断対象外としたことですが・・・そうする理由もわからないので、うーん・・・

ただ、こうして対象を削りまくることで100万程度、もしくはそれ以下まで診断費用を抑えることができます

特定ベンダと、ツールを用いた定期診断を実施してもらう契約をしていた

この可能性もあるのかなと思います

使ったことはありませんが、SecurityBlanket 365というサービス自動での定期診断が可能なようです。

ライセンスやどういった動き方をするのかはいまいちわかりませんが、ベンダ逐次依頼する脆弱性診断よりかは安く済むはずです。

ただ、自動診断となると設計上の不備やそれに伴う問題は検出できないはずです。

ツールの手が届く範囲での、XSSPoC、ヘッダの有無など、ごく一般的脆弱性診断になると考えられます

でも手軽そうで安価っぽいなので、これで済ませていても不思議ではないです。

セブン内部でツールを用いた診断を実施していた

脆弱性診断ツールOSSのものもあればベンダ販売していたり、SaaS提供しているものもあります

OSSならOWASP ZAPやw3afがWebサービスの診断が可能です。また、phpcs-security-auditなど、ソースコードを解析し脆弱な箇所がないかを診断するものもあります

ちなみにWebサービスに対する診断を「DAST」、ソースコードに対する診断を「SAST」と言ったりします。

有償のものとなると、DASTは先程のSecurityBlanket、AppScan、Nessus、Vex、VAddyが挙げられると思います

SASTになると、RIPS TECH、Contrast Securityなどでしょうか。

上記のようなツールを用いて、セブン内で脆弱性診断を実施することでセキュリティの知見を高めたり、内部で完結させるための動きを取っていたかもしれません。

こういった動きは結構色んな組織で見受けられます。外部の手を借りずに診断ができれば、関係者間の調整も楽ですし、それと比べると費用も安く済みますからね。

ただし、社内のエンジニアに任せる事になるため、片手間になってしま可能性があります

また、ツール使用方法についてのノウハウは溜まるかもしれませんが、それとセキュリティの知見が溜まるかどうかは別の問題としてあると思います

・・・とは言ってもセブンにはCSIRT部隊ちゃんとあるんですよね。

https://www.nca.gr.jp/member/7icsirt.html

『7&i CSIRT は、7&i グループCSIRT として設置され、グループ企業に対してサービス提供しています。』と記載があります

また、『7&i CSIRT は、7&i HLDGS. の組織内に専任要員を以て設置され、インシデント発生時の対応だけでなく、インシデント発生の未然防止にも注力しています

グループ企業情報システム部門と連携し、7&i グループ内で発生するインシデントに対する未然防止のための調査分析リスク情報の共有、ならびにインシデント対応活動を行なっています。』

という記載もあるため、今回の7payも、7&i CSIRTが動いてセキュリティ関連のチェックをしていたのではないかと思います。「情報システム部門」とはありますが。

組織図上にはありませんが、デジタル推進戦略本部の下か、リスクマネジメント委員会情報管理委員会のどこかに所属しているんじゃないかと思われます

日本CSIRT協議会にも名を連ねているわけですし、CSIRTメンバー専任要因ともありますし、セキュリティ関連の技術知識は十二分にあると思うんですよね。

なので、内部でツールを使って実施していたからといって、こんな重大な不備を見逃すというのはちょっと考え辛いなあ・・・と思います

会見内で言われた二段階認証検討事項に上がらなかったのかなあ・・・と。

まあ、今でも機能しているのであれば、の話ではありますが。

で、これを書いている最中に気付いたのですが以下のようなリリースが出ていたんですね。

https://www.7pay.co.jp/news/news_20190705_01.pdf

これを見ると内部のCSIRT機能していなかったか力不足判断されたかどちらかになるのかな・・・と。

実際はどうだかわかりませんけど・・・

診断を実施したがどこかで抜け落ちた

これも有り得る話かなあ・・・と。

関係者が多いと情報共有にも一苦労です。

開発やベンダCSIRT部隊情報共有したとしても、POが忘れていたとか、伝えたつもりが曖昧表現で伝わっていなかったとか・・・

ベンダ実施して指摘事項として伝えていたけど、いつの間にやら抜け落ちていてそのままサービスイン・・・というのもシナリオとしては考えられますね。

問題認識していたが上申しなかった/できなかった

7payは社内的にも一大プロジェクトだったはずで、スケジュールも決まっている場合、余計なことを物申すと手戻りや対応時間を取られることになります

そういった事を許さな空気が出来上がっていると、まあ中々上には上がってきづらいです。

これも十分にありえる話ですかね。ないといいんですけど。

セキュリティ審査自体が、情報セキュリティ基本方針個人情報保護方針に沿った内容かどうかを確かめただけだった

どうしても『審査』という言葉に引っかかっています。『検査』ならまだわかるんですが。

そこで思ったのですが、情報セキュリティ基本方針個人情報保護方針を元にしたチェックリストのようなものセブン内にあって、それを埋めた・・・みたいなことを「セキュリティ審査」と言っていたりするのかなと思ってしまったんですね。

でもこれはセブンペイの社長個人情報保護管理責任者ということで、ISMSPMS等で慣れ親しんだ単語である審査』を使っただけかもしれません。

そもそもそれで終わらせるなんて事ないでしょう。セブン程の企業・・・

そもそもやってない

大穴ですね。いやこれはないと思いますよ。あったら大問題じゃないですか・・・

というわけで、なんとなく「こうだったりして・・・」みたいな事をつらつら書いてみました。

そういえばomni7で以下のお知らせが上がっていましたね。

https://www.omni7.jp/general/static/info190705

『定期的にパスワードを変更いただきますようお願い申し上げます。』とのことです。CSIRTはもしかしたらもう機能していないのかもしれないですね。

もしくはわかりやす対策提示しろと言われたのかもしれません。それなら仕方ないんですけど。

パスワード定期変更を推奨する因習はいつ消えるんでしょうか。

以上。

以下追記 2019-09-08

一部typoとか指摘事項を修正しました(役不足力不足 etc)。

ついでに時間経ってるけど追記します。もう誰も見ないでしょうけど。

所詮「人のつくりしもの」だよ

監査なんて取り揃えた書類通りになっているかどうかなので、監査受けているかセキュリティ的に大丈夫ってことじゃないよ

そんなに監査が万能なら監査できるくらいの人が作り出せば完璧になるはずだろ

ちゃんと読んでいただけましたか?全文通して私の主張が「監査をしっかりやれば防げた」という意味と捉えられているのでしょうか。そんなに分かりづらい文章を書いた覚えもないのですが・・・

一番上でも記載していますが、私は今回の7payの「セキュリティ審査」は、「脆弱性問題がないか審査の事」、つまり脆弱性診断」を指していると仮定して本エントリを書いています

そういう意味で、ここで私が指している「審査」と貴方が指している「監査」は似て非なるものです。字面は少し似ていますがね。

監査貴方記載する通り「ある事象対象に関し、遵守すべき法令社内規程などの規準に照らして、業務成果物がそれらに則っているかどうかの証拠収集し、その証拠に基づいて、監査対象有効性を利害関係者に合理的保証すること」です。

貴方の言う「監査」に近いことは「セキュリティ審査自体が、情報セキュリティ基本方針個人情報保護方針に沿った内容かどうかを確かめただけだった」の見出し部分で触れていますが、それで終わらせているわ Permalink | 記事への反応(2) | 05:48

2018-12-23

SECCON国内大会供養

SECCON国内大会お疲れ様でした

以下ツイッターなどから拾った我々の反省点となります

以上、来年もっと頑張ります

2018-12-06

NTT新卒で落ちました

NTT退職エントリ流行っているようなのでそもそも入れなかった人の話でも書きます

といっても1X年前の話です。

増田はどんなひとか

1980年台前半生まれ

リーマンショック直前の超売り手市場新卒4月初頭というゴールデンタイムNTT系列何社も受けて全滅したアホ。

趣味プログラミング。ICPFCとか参加したり小さいツールを書いたりしてた。

大学の専攻は数学日本ではやたら偏差値の高いらしいT大学に現役で入ってそのまま修士卒。

どこを受けたのか

NTT株、NTTD、NTTS、NTTH、NTTCなど。略称がどこを指すかは適当に考えてね。

部落ちてます4月はこのせいでお祈りされまくり、結局決まったのはNTT以外で夏ごろで。

なぜNTTに応募したのか

電話がとても好きだった。高校ぐらいのときモデムから高速リダイヤルをかけるアプリとか、

公衆電話の番号を探すツールとかを書いていた。PHS携帯が普及しだしたこから

そもそも仕様があまり手に入らなかったので興味を持てなくなった。113はよくお世話になった。

就活ときそのへんのことを思い出したのと、プログラミングが好きだったのでNTTなら

なにかできるんじゃないだろうかと思いたくさん受けた。

なぜNTTをそんなに落ちたのか

当時はプログラマというもの地位ものすごく低い時代だったと思う。

そんな時代に「プログラミングやりたいです。ICPFCとかめっちゃ楽しいです。」という割に

基本情報すらとっておらず、コミュ力も非常に低い上に専攻が純粋数学とか落ちて然るべき。

更にNTTがどういう人材を欲しているのかという企業研究もろくにしていなかったため、

自分御社にどういう貢献ができるのかを説明できず、ただやりたいことだけを喋っていたた。

また純粋数学研究内容の説明がしにくいというのはわかりきった話だったので、それは対策するべきだった。

面接でどんなこと聞かれたのか

NTT

3分研究内容を話すというプレゼンSPIがよかったらしく1次面接免除という連絡をいただき

喜んで2次面接に望んだところ純粋数学研究発表で、「この研究社会的意義はなにか?」という質問をされ無事死亡。

NTTD

書類審査で通過できず。

NTTS

社名にソフトウェアなんてついてるぐらいだからプログラミングガッツリできるんだろうと思い、

CPU命令セットの素晴らしさとその効率的エミュレータ実装について熱く話す。

面接官の「そんなことにしか興味ないんですか?」という返事は今でも覚えている。

NTTH

グループディスカッションで落ちる。コミュ力とか見られてたきがするが審査員は見てただけなので詳細は不明

NTTC

面接前に社員雑談する謎の時間があり、「T大の人、ぜひ来てほしいんですけどNTTDとかNTT株に

取られちゃって蹴られてしまうんですよね…」という話を聞く。その時点でDには落ちていたので苦笑いして面接へ。

当時盛り上がっていたNGN関係の話で面接官と盛り上がるも俺が考える最強の通信スタック実装法を

熱く語ってしまドン引きされる。

結局どこにいったのか

NTT系列はだめだったので結局某SIer就職年収は300万弱から5年ぐらい在籍しても500万弱ぐらいだった。

最初は流石に年収低すぎということで某Rエージェント転職活動をするもリーマンショック真っ最中

在籍も1年とかだったため「君なにしにきたの?」オーラがすごかった。その時点での転職は失敗。

SIerによくある通り仕事コードというものほとんど書かず、ExcelWordがメインであった。

ただ仕事自体は暇だったので、合間にひたすらProject Eulerをやっていた。

今は何してるのか

今はお仕事が変わり、AI関係ソフトウェアエンジニアみたいなお仕事をしている。

相変わらず面接ではコード書きたいですとかAtCoderとかの競技プログラミングの話しかしていないのだけど、

10年前に比べると反応がとてもよくなったと感じる。年収都内に何の不自由もなく暮らせるぐらいまでは

もらえるようになった。プログラマ地位は相当向上しているのではないだろうか。

個人的にはAtCoderTopCoderで黄~青ぐらいのプログラマ社会的地位10年で年収400万から1000万ぐらいまで上がった感じがある。

結局NTTにいったほうがよかったのか

退職エントリ読んでみると、NTT株は行ってみたかたかも。

ブコメへの回答

anond:20181206084718

今は1000万!と言いたいところですが、うまい棒5万本分ほど足りません。一本行けるように今後も精進します。

ただ今都内ソフトウェアエンジニアバブルといってもよく、かなり年収水準が上がっている気がします。

ですので多少は夢を持ってもよいのかなと。

回答追記

anond:20181206104025

キリの人も入社時は優秀だったんだと思います。あともし採用されるポテンシャルがあったとしても

ちゃん業界研究しないのはだめかと。いろいろな意味で私はだめでしたね。

id:ueno_neco

1990年代はまだ固定電話の古い交換器や緑・ピンク電話などが残ってた時代で、電話面白い挙動

NIFTY-SERVEフォーラム等で盛り上がっていた時代でした。そのため当時は同じような人が結構いました。

id:sny22015

うけてません。NTTの社風に合わないと全滅する可能性もあった(そして実際そうなった)ということで、

ある意味リスク管理ができていなかったとも言えます

id:shinobue679fbea

最近NTTDのOSS関係へのコミットは凄まじいですね。あの部隊尊敬しています

あのへんのコミッタ方たちはどういうルート採用されたんでしょうね?

id:ockeghem

大学時代XSSバイナリ解析に興味があったはずなのですが、就活ではその道は選びませんでした。

忘れていたというのもあるのですが、その数年前に日本セキュリティ系の団体ちょっともめてしまった

というのがあるのかもしれません。日本セキュリティ業界ちょっと前までアングラっぽい雰囲気

漂っていました(世界的にそうだっただけな感じもします)が、そんな方たちも某FF○Iとか某NAとか

ホワイトハッカー側で大きく活躍されてるようで、もしセキュリティ業界に身をおいていたら

そういう変化も楽しめたのかなぁとは思います

あ、徳丸さんのブログはいつも楽しく拝見させていただいています

id:Lumin

あの某NAのLuminさんでしょうか。当時はとても落ち込みましたが、今では楽しくやれているので

人間万事塞翁が馬というところかなと思います

2018-11-16

大臣現場のどこまで知っていればいいのか

USBXSSやらCTFになっていくのか?

国会質問できる人間もいなくなりそう

2018-07-17

大手ショッピングサイトXSSを見つけたんだけど報告すべき?

俺になにもメリットは無いけど

徳を積むために運営者にメールしたほうが良いのかなあ

ログイン ユーザー登録
ようこそ ゲスト さん