「SQLインジェクション」を含む日記 RSS

はてなキーワード: SQLインジェクションとは

2022-08-12

anond:20220812172422

DB使うとなるとSQL文法の他に、プログラムからDB操作する仕組みとかも覚えないとだから、一気に難しくなる。

あとSQLインジェクションとか、無視できないセキュリティリスクも出てくるからなおさら

SQLRDBMS思想合理性は本当に素晴らしいんだけどね。

2022-07-02

夏コミ(C100)一般参加申し込むか迷ってる

去年の冬コミ(C99)の一般参加チケットチケットペイで買ったんだよね
そしたら決済やってる会社情報流出してさ
コンビニ決済だから氏名電話番号メールアドレス流出した可能性があるって窓口に電話したら言われた

≪ご利用者様向け お客様相談窓口≫

・受付時間:9:00~21:00(土日祝日も受付)

電話番号0120-816620(フリーダイヤル

https://www.metaps-payment.com/company/20220228.html

C100の一般参加チケットも同じとこ使うってコミケ準備会から発表があって
どうしよっかなーと思ってたら決済代行業者調査報告書たから読んだ

第三者委員会調査報告書公表版)
https://www.metaps-payment.com/company/report_metapspayment_20220701.pdf


セキュリティ業界の人いたら聞きたいんだけど、これってどうなん?
やっちゃいけないけど現場では仕方ないんだよねって感じなの?
やばそうなの挙げたけど、もっとたくさん報告書には書いてあった

7/6からアーリー抽選申込はじまるんだけどさ
今なら決済代行業者体制や体質変わってると思う?

2022-01-25

本のまとめ

--

この本は5章まであるが、4章と5章はハンズオンであるため、文字としてまとめるのは1から3章に留める。

1章

コンテナとは】

他のプロセスとは隔離された状態OS上にソフトウェアを実行する技術

コンテナ利用のメリット

環境依存から解放

コンテナにはアプリの稼働に必要となるランタイムライブラリを1つのパッケージとして全て含めることができる。そうすることでアプリ依存関係をすべてコンテナ内で完結できる。

依存関係を含めたパッケージリリース単位となる

環境構築やテストに要する時間の削減

優れた再現性ポータビリティ

全ての依存関係コンテナ内で完結するため、オンプレでもクラウドでも起動する。

ステージング環境テスト済みのコンテナイメージプロダクション環境向けに再利用することで、ライブラリ差異による環境ごとのテスト必要工数を削減できる。

リソース効率のアップ

サーバー仮想化では、仮想マシンレベルリソースを分離し、ゲストOS上でアプリが起動する。つまりアプリだけでなく、ゲストOSを動かすためのコンピューティングリソース必要

一方コンテナは、プロセスレベルで分離されてアプリが稼働する。OSから見ると単に1つのプロセスが稼働している扱いになる。

Dockerとは】

コンテナライフサイクル管理するプラットフォーム

アプリコンテナイメージとしてビルドしたり、イメージの取得や保存、コンテナの起動をシンプルに行える。

アプリソースコード + Dockerfile

↓ buildでイメージ作成

イメージ(アプリケーションと依存関係パッケージングされる。アプリライブラリOS)

shipイメージの保存

レジストリに保存

run コンテナの実行

オンプレクラウドなどで起動

Dockerfileとは】

イメージを構築するためのテキストファイル

このファイルコマンド記述することで、アプリ必要ライブラリインストールしたり、コンテナ上に環境変数を指定したりする。

1章まとめ、感想

コンテナの登場により、本番・開発環境ごとに1からサーバーを立ててコマンド設定ファイルを正確に行い、環境差異によるエラーをつぶしていき...というこれまでの数々の労力を減らすことができるようになった。

2章

AWS提供するコンテナサービス

コントロールプレーン

コンテナ管理する機能

コントロールプレーンは2種類

ECSとEKSがある。

ECS

フルマネージドなコンテナオーケストレータ。

オーケストレーションサービスであり、コンテナの実行環境ではない。

ECSの月間稼働率99.99%であることがSLA として保証

タスク

コンテナ動作するコンポーネント

タスクは1つ以上のコンテナからなる

アプリを起動するためにはコンテナ必要

タスク定義

タスク作成するテンプレート定義JSON記述

デプロイするコンテナイメージタスクコンテナに割り当てるリソースやIAMロール、Cloud Watch Logsの出力先などを指定する。

サービス

指定した数だけタスクを維持するスケジューラーで、オーケストレータのコア機能にあたる要素。サービス作成時は起動するタスクの数や関連づけるロードバランサータスクを実行するネットワーク指定

クラスター

サービスタスクを実行する論理グループ

データプレーン

コンテナが実際に稼働するリソース環境

2種類ありECSとFargateがある。 Fargateに絞って書く

Fargateとは

サーバーレスコンピューティングエンジン

AWSのフルマネージドなデータプレーンとして定義されている

コンテナ向けであるためEC2のように単体では使用できず、ECSかEKSで利用する

Fargate メリット

ホスト管理不要であること

サーバーのスケーリングパッチ適用保護管理にまつわる運用上のオーバーヘッドが発生しない。これにより、アプリ開発に専念できるようになる

Fargate デメリット

価格EC2より高い。

利用者コンテナの稼働するOSには介入できない

コンテナごとにENIがアタッチされるため、コンテナごとにIPが振られるため起動に若干時間がかかる

ECR

フルマネージドなコンテナレジストリ

コンテナイメージを保存、管理できる

コンテナが利用されているサービス

Lambda

・App Runner

Lambda

 利用者コードアップロードするだけでコードを実行できるサービスAWS側で基盤となるコンピューティングリソースを構築してくれるフルマネージドサービス

App Runner

 2021年5月GA(一般公開)となったサービスプロダクションレベルスケール可能webアプリを素早く展開するためのマネージドサービスGithub連携してソースコードをApp Runnerでビルドデプロイができるだけでなく、ECRのビルド済みコンテナイメージも即座にデプロイできる。

 ECSとFargateの場合ネットワークロードバランシング、CI/CDの設定などインフラレイヤに関わる必要があり、ある程度のインフラ知識必要になる。App Runnerはそれらインフラ周りをすべてひっくるめてブラックボックス化し、マネージドにしていることが特徴である

ECS Fargateを利用した場合コスト拡張性、信頼性エンジニアリング観点

コスト

EC2より料金は割高。ただし、年々料金は下がってきている。

拡張性】

デプロイの速度 遅め

理由1 コンテナごとにENIが割り当てられるため。ENIの生成に時間がかかる

理由2. イメージキャッシュができないため。コンテナ起動時にコンテナイメージを取得する必要がある。

タスクに割り当てられるエフェメラストレージは200GB。容量は拡張不可。ただし永続ストレージの容量が必要場合はEFSボリュームを使う手もある。

割り当て可能リソースは4vCPUと30GB。機械学習に用いるノードのような大容量メモリ要求するホストとしては不向き

信頼性

Fargateへのsshログインは不可。Fargate上で起動するコンテナsshdを立ててsshログインする方法もあるが、セキュアなコンテナ環境sshの口を開けるのはリスキーである。他にSSMセッションマネージャーを用いてログインする方法もあるが、データプレーンEC2の時に比べると手間がかかる。

しかし、2021年3月Amazon ECS Execが発表され、コンテナに対して対話型のシェルや1つのコマンドが実行可能となった。

エンジニアリング観点

Fargateの登場からしばらく経過し、有識者経験者は増え、確保しやすい。

システム要件確認

多数のユーザーに使ってもらう

可用性を高めるためにマルチAZ構成を取る

CI/CDパイプライン形成し、アプリリリースに対するアジティを高める

レイヤで適切なセキュリティ対策不正アクセス対策認証データの適切な管理ログ保存、踏み台経由の内部アクセス)を施したい

2章まとめ、感想

AWS提供するコンテナサービスはいくつかあり、なかでもFargateというフルマネージドなデータプレーンがよく使われている。ホスト管理不要インフラ関連の工数を削減できる一方、EC2より料金が高く、起動に若干時間がかかるのが難点である

3章

この章では運用設計ロギング設計セキュリティ設計信頼性設計パフォーマンス設計コスト最適化設計について述べている。

運用設計

Fargate利用時のシステム状態を把握するためのモニタリングやオブザーバビリティに関する設計不具合修正デプロイリスク軽減のためのCI/CD設計必要である

モニタリングとは

システム内で定めた状態確認し続けることであり、その目的システムの可用性を維持するために問題発生に気づくこと

オブザーバビリティとは

システム全体を俯瞰しつつ、内部状態まで深掘できる状態

オブザーバビリティの獲得によって、原因特定対策検討が迅速に行えるようになる

ロギング設計

・cloud watch logs

他のAWSサービスとの連携も容易

サブスクリプションフィルター特定文字列の抽出も容易

・Firelens

AWS以外のサービスAWS外のSaaS連携することも可能

Firehoseを経由してS3やRed shiftOpenSearch Serviceにログ転送できる

Fluentdやfluent bit選択できる

fluent bitを利用する場合AWS公式提供しているコンテナイメージ使用できる

セキュリティ設計

イメージに対するセキュリティ対策

 - ソフトウェアライブラリ脆弱性は日々更新されており、作ってから時間が経ったイメージ脆弱性を含んでいる危険がある。

 - 方法

  脆弱性の有無はECRによる脆弱性スキャンOSSのtrivyによる脆弱性スキャン

継続的かつ自動的コンテナイメージスキャンする必要があるため、CI/CDに組み込む必要がある。しかし頻繁にリリースが行われないアプリ場合CICDパイプラインが実行されず、同時にスキャンもなされないということになるため、定期的に行うスキャン必要になる。

cloud watch Eventsから定期的にLambdaを実行してECRスキャンを行わせる(スキャン自体は1日1回のみ可能

提供元が不明ベースイメージ使用は避ける

・IAMポリシーによるECRのパブリック化の禁止

 - オペレーションミスによる公開を防ぐことができる

信頼性設計

マルチAZ構成

Fargateの場合サービス内部のスケジューラが自動マルチAZ構成を取るため、こちらで何かする必要はない。

障害時切り離しと復旧

ECSはcloud watchと組み合わせることでタスク障害アプリエラーを検知できるうえに、用意されてるメトリクスをcloud watchアラームと結びつけて通知を自動化できる

ALBと結びつけることで、障害が発生したタスク自動で切り離す

リタイアという状態

AWS内部のハードウェア障害や、セキュリティ脆弱性があるプラットフォームだと判断された場合ECSは新しいタスクに置き換えようとするその状態のこと。

Fargateの場合アプリはSIGTERM発行に対して適切に対処できる設定にしておかなくてはならない。そうしておかないとSIGKILLで強制終了されてしまう。データ整合などが生じて危険

システムメンテナンス時におけるサービス停止

ALBのリスナールールを変更し、コンテンツよりもSorryページの優先度を上げることで対処可能

サービスクォータという制限

意図しない課金増加から保護するために設けられた制限

自動でクォータは引き上がらない

cloud watch メトリクスなどで監視する必要がある。

パフォーマンス設計

パフォーマンス設計で求められることは、ビジネスで求められるシステム需要を満たしつつも、技術領域進歩環境の変化に対応可能アーキテクチャを目指すこと

ビジネス上の性能要件を把握することが前提

利用者数やワークロードの特性を見極めつつ、性能目標から必要リソース量を仮決めする

FargateはAutoscalingの利用が可能で、ステップスケーリングポリシーターゲット追跡スケーリングポリシーがある。どちらのポリシー戦略をとるかを事前に決める

既存のワークロードを模倣したベンチマークや負荷テスト実施してパフォーマンス要件を満たすかどうかを確認する

スケールアウト

サーバーの台数を増やすことでシステム全体のコンピューティングリソースを増やそうとする概念。可用性と耐障害性が上がる。既存タスクを停止する必要原則ない。

スケールアウト時の注意

・Fargate上のECSタスク数の上限はデフォルトリージョンあたり1000までであること。

VPCIPアドレスの割当量に気をつける

ECSタスクごとにENIが割り当てられ、タスク数が増えるごとにサブネット内の割当可能IPアドレスが消費されていく

スケールアウトによるIPアドレスの枯渇に注意

Application Autoscaling

Fargateで使用可能

Cloud Watchアラームで定めたメトリクスの閾値に従ってスケールアウトやスケールインを行う

ステップスケーリングポリシー

ステップを設けて制御する

CPU使用率が60~80%ならECSタスク数を10%増加し、80%以上なら30%増加する、という任意ステップに従ってタスク数を増減させる

ターゲット追跡スケーリングポリシーとは

指定したメトリクスのターゲット値を維持するようなにスケールアウトやスケールインを制御する方針

ターゲット追跡スケーリングPermalink | 記事への反応(0) | 21:45

本のまとめ

--

この本は5章まであるが、4章と5章はハンズオンであるため、文字としてまとめるのは1から3章に留める。

1章

コンテナとは】

他のプロセスとは隔離された状態OS上にソフトウェアを実行する技術

コンテナ利用のメリット

環境依存から解放

コンテナにはアプリの稼働に必要となるランタイムライブラリを1つのパッケージとして全て含めることができる。そうすることでアプリ依存関係をすべてコンテナ内で完結できる。

依存関係を含めたパッケージリリース単位となる

環境構築やテストに要する時間の削減

優れた再現性ポータビリティ

全ての依存関係コンテナ内で完結するため、オンプレでもクラウドでも起動する。

ステージング環境テスト済みのコンテナイメージプロダクション環境向けに再利用することで、ライブラリ差異による環境ごとのテスト必要工数を削減できる。

リソース効率のアップ

サーバー仮想化では、仮想マシンレベルリソースを分離し、ゲストOS上でアプリが起動する。つまりアプリだけでなく、ゲストOSを動かすためのコンピューティングリソース必要

一方コンテナは、プロセスレベルで分離されてアプリが稼働する。OSから見ると単に1つのプロセスが稼働している扱いになる。

Dockerとは】

コンテナライフサイクル管理するプラットフォーム

アプリコンテナイメージとしてビルドしたり、イメージの取得や保存、コンテナの起動をシンプルに行える。

アプリソースコード + Dockerfile

↓ buildでイメージ作成

イメージ(アプリケーションと依存関係パッケージングされる。アプリライブラリOS)

shipイメージの保存

レジストリに保存

run コンテナの実行

オンプレクラウドなどで起動

Dockerfileとは】

イメージを構築するためのテキストファイル

このファイルコマンド記述することで、アプリ必要ライブラリインストールしたり、コンテナ上に環境変数を指定したりする。

1章まとめ、感想

コンテナの登場により、本番・開発環境ごとに1からサーバーを立ててコマンド設定ファイルを正確に行い、環境差異によるエラーをつぶしていき...というこれまでの数々の労力を減らすことができるようになった。

2章

AWS提供するコンテナサービス

コントロールプレーン

コンテナ管理する機能

コントロールプレーンは2種類

ECSとEKSがある。

ECS

フルマネージドなコンテナオーケストレータ。

オーケストレーションサービスであり、コンテナの実行環境ではない。

ECSの月間稼働率99.99%であることがSLA として保証

タスク

コンテナ動作するコンポーネント

タスクは1つ以上のコンテナからなる

アプリを起動するためにはコンテナ必要

タスク定義

タスク作成するテンプレート定義JSON記述

デプロイするコンテナイメージタスクコンテナに割り当てるリソースやIAMロール、Cloud Watch Logsの出力先などを指定する。

サービス

指定した数だけタスクを維持するスケジューラーで、オーケストレータのコア機能にあたる要素。サービス作成時は起動するタスクの数や関連づけるロードバランサータスクを実行するネットワーク指定

クラスター

サービスタスクを実行する論理グループ

データプレーン

コンテナが実際に稼働するリソース環境

2種類ありECSとFargateがある。 Fargateに絞って書く

Fargateとは

サーバーレスコンピューティングエンジン

AWSのフルマネージドなデータプレーンとして定義されている

コンテナ向けであるためEC2のように単体では使用できず、ECSかEKSで利用する

Fargate メリット

ホスト管理不要であること

サーバーのスケーリングパッチ適用保護管理にまつわる運用上のオーバーヘッドが発生しない。これにより、アプリ開発に専念できるようになる

Fargate デメリット

価格EC2より高い。

利用者コンテナの稼働するOSには介入できない

コンテナごとにENIがアタッチされるため、コンテナごとにIPが振られるため起動に若干時間がかかる

ECR

フルマネージドなコンテナレジストリ

コンテナイメージを保存、管理できる

コンテナが利用されているサービス

Lambda

・App Runner

Lambda

 利用者コードアップロードするだけでコードを実行できるサービスAWS側で基盤となるコンピューティングリソースを構築してくれるフルマネージドサービス

App Runner

 2021年5月GA(一般公開)となったサービスプロダクションレベルスケール可能webアプリを素早く展開するためのマネージドサービスGithub連携してソースコードをApp Runnerでビルドデプロイができるだけでなく、ECRのビルド済みコンテナイメージも即座にデプロイできる。

 ECSとFargateの場合ネットワークロードバランシング、CI/CDの設定などインフラレイヤに関わる必要があり、ある程度のインフラ知識必要になる。App Runnerはそれらインフラ周りをすべてひっくるめてブラックボックス化し、マネージドにしていることが特徴である

ECS Fargateを利用した場合コスト拡張性、信頼性エンジニアリング観点

コスト

EC2より料金は割高。ただし、年々料金は下がってきている。

拡張性】

デプロイの速度 遅め

理由1 コンテナごとにENIが割り当てられるため。ENIの生成に時間がかかる

理由2. イメージキャッシュができないため。コンテナ起動時にコンテナイメージを取得する必要がある。

タスクに割り当てられるエフェメラストレージは200GB。容量は拡張不可。ただし永続ストレージの容量が必要場合はEFSボリュームを使う手もある。

割り当て可能リソースは4vCPUと30GB。機械学習に用いるノードのような大容量メモリ要求するホストとしては不向き

信頼性

Fargateへのsshログインは不可。Fargate上で起動するコンテナsshdを立ててsshログインする方法もあるが、セキュアなコンテナ環境sshの口を開けるのはリスキーである。他にSSMセッションマネージャーを用いてログインする方法もあるが、データプレーンEC2の時に比べると手間がかかる。

しかし、2021年3月Amazon ECS Execが発表され、コンテナに対して対話型のシェルや1つのコマンドが実行可能となった。

エンジニアリング観点

Fargateの登場からしばらく経過し、有識者経験者は増え、確保しやすい。

システム要件確認

多数のユーザーに使ってもらう

可用性を高めるためにマルチAZ構成を取る

CI/CDパイプライン形成し、アプリリリースに対するアジティを高める

レイヤで適切なセキュリティ対策不正アクセス対策認証データの適切な管理ログ保存、踏み台経由の内部アクセス)を施したい

2章まとめ、感想

AWS提供するコンテナサービスはいくつかあり、なかでもFargateというフルマネージドなデータプレーンがよく使われている。ホスト管理不要インフラ関連の工数を削減できる一方、EC2より料金が高く、起動に若干時間がかかるのが難点である

3章

この章では運用設計ロギング設計セキュリティ設計信頼性設計パフォーマンス設計コスト最適化設計について述べている。

運用設計

Fargate利用時のシステム状態を把握するためのモニタリングやオブザーバビリティに関する設計不具合修正デプロイリスク軽減のためのCI/CD設計必要である

モニタリングとは

システム内で定めた状態確認し続けることであり、その目的システムの可用性を維持するために問題発生に気づくこと

オブザーバビリティとは

システム全体を俯瞰しつつ、内部状態まで深掘できる状態

オブザーバビリティの獲得によって、原因特定対策検討が迅速に行えるようになる

ロギング設計

・cloud watch logs

他のAWSサービスとの連携も容易

サブスクリプションフィルター特定文字列の抽出も容易

・Firelens

AWS以外のサービスAWS外のSaaS連携することも可能

Firehoseを経由してS3やRed shiftOpenSearch Serviceにログ転送できる

Fluentdやfluent bit選択できる

fluent bitを利用する場合AWS公式提供しているコンテナイメージ使用できる

セキュリティ設計

イメージに対するセキュリティ対策

 - ソフトウェアライブラリ脆弱性は日々更新されており、作ってから時間が経ったイメージ脆弱性を含んでいる危険がある。

 - 方法

  脆弱性の有無はECRによる脆弱性スキャンOSSのtrivyによる脆弱性スキャン

継続的かつ自動的コンテナイメージスキャンする必要があるため、CI/CDに組み込む必要がある。しかし頻繁にリリースが行われないアプリ場合CICDパイプラインが実行されず、同時にスキャンもなされないということになるため、定期的に行うスキャン必要になる。

cloud watch Eventsから定期的にLambdaを実行してECRスキャンを行わせる(スキャン自体は1日1回のみ可能

提供元が不明ベースイメージ使用は避ける

・IAMポリシーによるECRのパブリック化の禁止

 - オペレーションミスによる公開を防ぐことができる

信頼性設計

マルチAZ構成

Fargateの場合サービス内部のスケジューラが自動マルチAZ構成を取るため、こちらで何かする必要はない。

障害時切り離しと復旧

ECSはcloud watchと組み合わせることでタスク障害アプリエラーを検知できるうえに、用意されてるメトリクスをcloud watchアラームと結びつけて通知を自動化できる

ALBと結びつけることで、障害が発生したタスク自動で切り離す

リタイアという状態

AWS内部のハードウェア障害や、セキュリティ脆弱性があるプラットフォームだと判断された場合ECSは新しいタスクに置き換えようとするその状態のこと。

Fargateの場合アプリはSIGTERM発行に対して適切に対処できる設定にしておかなくてはならない。そうしておかないとSIGKILLで強制終了されてしまう。データ整合などが生じて危険

システムメンテナンス時におけるサービス停止

ALBのリスナールールを変更し、コンテンツよりもSorryページの優先度を上げることで対処可能

サービスクォータという制限

意図しない課金増加から保護するために設けられた制限

自動でクォータは引き上がらない

cloud watch メトリクスなどで監視する必要がある。

パフォーマンス設計

パフォーマンス設計で求められることは、ビジネスで求められるシステム需要を満たしつつも、技術領域進歩環境の変化に対応可能アーキテクチャを目指すこと

ビジネス上の性能要件を把握することが前提

利用者数やワークロードの特性を見極めつつ、性能目標から必要リソース量を仮決めする

FargateはAutoscalingの利用が可能で、ステップスケーリングポリシーターゲット追跡スケーリングポリシーがある。どちらのポリシー戦略をとるかを事前に決める

既存のワークロードを模倣したベンチマークや負荷テスト実施してパフォーマンス要件を満たすかどうかを確認する

スケールアウト

サーバーの台数を増やすことでシステム全体のコンピューティングリソースを増やそうとする概念。可用性と耐障害性が上がる。既存タスクを停止する必要原則ない。

スケールアウト時の注意

・Fargate上のECSタスク数の上限はデフォルトリージョンあたり1000までであること。

VPCIPアドレスの割当量に気をつける

ECSタスクごとにENIが割り当てられ、タスク数が増えるごとにサブネット内の割当可能IPアドレスが消費されていく

スケールアウトによるIPアドレスの枯渇に注意

Application Autoscaling

Fargateで使用可能

Cloud Watchアラームで定めたメトリクスの閾値に従ってスケールアウトやスケールインを行う

ステップスケーリングポリシー

ステップを設けて制御する

CPU使用率が60~80%ならECSタスク数を10%増加し、80%以上なら30%増加する、という任意ステップに従ってタスク数を増減させる

ターゲット追跡スケーリングポリシーとは

指定したメトリクスのターゲット値を維持するようなにスケールアウトやスケールインを制御する方針

ターゲット追跡スケーリングPermalink | 記事への反応(0) | 21:45

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

anond:20210617124810

いいわけねーだろ(笑)

次のうちSQLインジェクション対策として正しいものはどれか。

ア: ユーザー入力した文字列が、データベースへの問い合わせや操作において、意味のある文字列として解釈されないようにする。

イ: ユーザー入力した文字列HTMLタグが含まれていたら、HTMLタグとして解釈されない別の文字列に置き換える。

ウ: ユーザー入力に、上位のディレクトリ指定する文字列(../)が含まれていた場合入力を受け付けないようにする。

エ: ユーザー入力の長さが制限を超えているとき入力を受け付けない。

こんな基本情報試験レベル知識がない奴雇いたいと思うのは底辺企業だけだよ。

経験から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-20

anond:20210519214122 政府向けシステムの話をするときの前提知識

政府向けシステムに関わったことがある身からすると、政府向けシステムの話をするときに前提として知っておいてほしいことは、住基ネット最高裁判決に「現行法上,本人確認情報提供が認められている行政事務において取り扱われる個人情報一元的管理することができる機関又は主体存在しない」という骨子があること。これによって政府向けシステム個人情報一元的管理できず、個人情報各自治体で分散管理しかできない。この文面でググれば政府がどれだけこの骨子を気にしているかは分かると思う。

今回の話は「国民マスターテーブルを持たずに認証するにはどうすべきか」という政府向けシステムで常に挙がる課題で、良いアイデアがある人は政府提案しにいってほしい。個人情報保護法の目的外利用に違反しない上で。

はがき送りつけ

これをできるのは自治体のみで防衛省はできない。防衛省国民の住所氏名を知らないのではがきを送れない。防衛省に限らず、どの省庁も国民の住所氏名を一元的には知らないので、政府はできない。

自治体から発行済接種番号と生年月日のペアデータ提供を受けて、接種番号をIDとし、生年月日を仮パスワードとして登録し、認証システムとする。

かなり難しい。上の骨子により防衛省個人情報一元的管理することができないので、最高裁判決とは条件が異なることを主張しないといけない。たとえば「都市圏だけなので一元ではない」とか。それに国民野党が納得するかどうか。これがひろみちゅの言う「政治的にそう言えないというのはあり得るが、乗り越えなければならない」課題

来る者拒まずベストエフォート方式にする

これで良いなら予約システムなんていらないけど、密を作って高齢者に何日も前から徹夜で並ばせるのが今のシステムより良いと思う?

どうすればよかったのか?

政府が使える一元的情報マイナンバーしかない。マイナンバーカードを読み取れる人だけが利用できる予約システムなら認証できるけど、自治体ネット予約さえ高齢者には使えないと叩かれているのに「マイナンバーカードとリーダー必要です」なんて要件で作れるわけがない。そもそも短期間に多くの人に接種させる」という目的にもそぐわない。

各自治体の予約システムAPIを持って防衛省が接種券番号の有効性をAPI確認できれば認証できるけど、首都圏だけで200以上ある自治体がばらばらに調達しているすべての予約システムに高負荷でも落ちないAPI共通仕様で緊急で作らせれる必要がある。けど、そんな体力があるならば自治体の予約システム自体が落ちないようにすれば良いわけで、大規模接種自体不要かもしれない。

個人情報一元的管理することができる機関立法すればできる。けど、そんなものは「たった1年」じゃ作れない。マイナンバー住基ネットに何年掛かったと思っている?「パンデミックという緊急事態なので防衛省高齢者個人情報一元的管理することができる」世界は「戦争という緊急事態なので防衛省20代30代男性個人情報一元的管理することができる」世界につながっていることを理解した上で、国民はこの法案に賛成できるのか? できるなら、良くも悪くも政府向けシステムの将来は大きく変わる。

結局、「国民行政サービスを直接提供するのは自治体で、そのための個人情報を持っているのも自治体政府自治体支援する」というデザインですべてが作られている日本において、菅の「政府主導でのワクチン接種」というアイデアの実現がそもそも無理ゲー出生届転入届を出すのは各自治体、運転免許の番号を発行しているのは各都道府県公安委員会政府国民個人情報一元的に入った共通データベースをどこにも持っていないか管理できない。従来通り、政府自治体支援に特化するべきだった。

中国みたいな管理国家日本はならないという選択国民がした時点で、この予約システムでの認証実装難易度は相当高い。ウイルスとの戦いに強い国は戦争にも強い国で、「人間にせよウイルスにせよ、敵との戦いに勝つために国民政府にどれだけ一元管理されてもよいか」の総意を国民が取らないといけないので、マイナンバー住基ネットの実績を考えると1年くらいの準備期間じゃ、みんなが期待している認証をこのシステムでは実現できない。

認証は無理としてチェックデジットくらいは入れられたのでは?

チェックデジットがないことで誰かの誤入力自分の予約ができない確率が上がっているのは残念。ただ、発券しているのは各自治体なのでチェックデジットをつけられるのも各自治体なので、開発会社防衛省もやれることはない。誰なら事前に自治体統一仕様で作らせられたかというと厚労省だけど、接種券の仕様が決まったあとに大規模接種の話が出てきたので事後諸葛亮こんなこともあろうかとチェックデジットの指摘が事前にできる勘が良い人がいたなら、たぶん落ちない予約システムの作り方の指摘も事前にできただろうから、大規模接種自体不要だったかもしれない。

いたずら予約で枠を全部押さえられたらどうするの?

現状でもreCAPTCHABot対策されている。reCAPTCHAを越えて大量予約するやつは悪意があるので逮捕で良いでしょ。

接種券番号のバリデーションは無理として、市区町村コードバリデーションはできたのでは?

できた。でも、接種券番号のバリデーションができない時点で大した意味はない。入力フォーム電話番号SMS送って電話番号全体の有効性を確認することはあっても、市外局番存在有無だけをバリデーションするなんてことしないでしょ。入力された市外局番市外局番マスターを引きあててバリデーションをしている者だけが石を投げられる。

生年月日が65歳未満でも登録できるのはバリデーションすべきでは?

防衛省は生年月日の正しい情報を持っていないので、この数字に大した意味はない。たぶん予約キャンセル用のパスワード相当、当日の誤入力を見つけるためのヒントくらいの意味しかない。「パスワードを設定してください」でも良かったんだけど、高齢者には難易度が高いと思って生年月日にしたんだろう。秘密質問みたいなものあなた母親旧姓が本当に正しいかどうかにシステム側は興味がないのと同じくらい、この生年月日が正しいかどうかに大規模接種予約システムは興味がない。

SQLインジェクションは?

いまだに具体例が出てこないので、多分ガセ

接種券番号だけがユニークになっている

異なる市町村番号+同じ接種券番号+異なる生年月日でログインできないことで接種券番号だけがユニークと主張しているけど、ログインできない理由はそれだけじゃない。たとえば2-123,5678がすでに登録されていることをこの人は知らない状況で、この人は1-123,1234でログインできるけど、2-123,7890はログインできない。システムとしておかしくない。

追記(2021/05/21 2:45)

よくあるコメントに返信。

接種番号と生年月日は個人情報ではない

法律素人システム屋なので、この指摘は正しいのかもしれない。一方で「個人情報とは個人を一意に識別できる情報のことを指すもの」というコメントもある。私には判断できないけど、仮に個人情報ではないとすると、

かなり難しい。上の骨子により防衛省個人情報一元的管理することができないので、最高裁判決とは条件が異なることを主張しないといけない。たとえば「接種券番号は個人情報ではない」とか「都市圏だけなので一元ではない」とか。それに国民野党が納得するかどうか。これがひろみちゅの言う「政治的に(『接種券番号と生年月日は個人情報ではないので一元管理します』とは)言えないというのはあり得るが、乗り越えなければならない」課題

が正しいのかもしれない。住基ネット最高裁判決によって政府向けシステム認証機能をつけることは想像以上に難しいという趣旨は変わらないけど、悪いのは菅じゃなくて「個人情報ではない」で突っ張れなかった防衛省なのかもね。いずれにせよ「認証すらまともに作れない技術力」から「接種券番号は個人情報なのか」に議論が高まってくれれば書いた甲斐があった。

VRSでは一元管理できている

VRSってのは各自治体の接種会場で使われているバーコードがなくてOCR必要なことで有名なシステムOCRは置いておいて、VRSは一元管理していない。 https://cio.go.jp/sites/default/files/uploads/documents/vrs_overview_210506.pdf の6ページ目に書いてある。

市区町村ごとに区切られて保存されており、個人の記録は、接種券を発行した市区町村確認できます

国民の接種率が重要指標なんだからDBは1個にしたほうが便利なのに、「あえて」区切って保存している。また、個人の記録は各市区町村しか確認できい、つまり串刺しで全国民個人記録を見られる人はいないと書いてある。そんなわけでVRSは「政府は一元管理していません」に気を使っていることが分かる事例。

防衛省ワクチン予約システムの何が問題なのか

◾️海外からサイバー攻撃されたらどうする

ソース見たらわかるけどリキャプチャ入ってるよ。

スクリプト組んで乱数で大量に空予約を登録なんてことはできなくなってる。


◾️存在しない番号が入力できる

悪質なのは偽計業務妨害罪になるからそれで抑止。


◾️2月30日未来の生年月日が入力できる

受付で本人確認する。(接種券と免許証等)

例えば3月30日まれの人が間違えて2月30日入力していたとしても、受付で人が判断してそのまま接種させればいい。


◾️メルカリ転売される

受付で本人確認する。

上記のように3月30日まれの人が間違えて2月30日になるくらいならそのまま受け付ければいいが、あまりにも入力内容と本人の属性が異なってたら、見たらわかるだろ。


◾️予約済み番号が二度入る

入力他人の予約を意図せず上書きしてしまうというのは起こり得る。

これは問題から、予約者に予約完了メールを送るようにシステム修正するべきかもしれない。

1%人間が誤入力システム上の予約日と違う日に来ても、1万人が1万100人になるレベルから、受付で予約完了メール確認できれば、そのまま接種させればいい。

ここだけは改善点として挙げられる。


◾️SQLインジェクションできる

twitterで噂になってるから探したけどソースが見つからないんだよね。デマじゃないの?


金融機関システムでもないのに、本人確認などかっちりシステム作って、稼働は1ヶ月後ですってなったら、その間にワクチン打てた30万回が遅れることになる。

個人的にはそれって誰得なんだよって思うけど。

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

[]2021年5月18日火曜日増田

時間記事文字数文字数平均文字数中央値
0010914551133.557
018310345124.643
02345286155.576
03394085104.746
0463524683.368
0580493161.646
06193223169.649
07609865164.449.5
0877742996.526
091911452976.139
101941421173.343.5
111861666289.645
121661591795.937
13135817360.533
141991374269.134
151671415584.838
161761528586.836.5
171921534779.936.5
1812613863110.041
1914217051120.130
201751382079.033
21134904867.523.5
229412778135.944
2312019235160.354.5
1日296127877794.139

本日の急増単語 ()内の数字単語が含まれ記事

SQLインジェクション(8), 新安(4), 保法(4), 水からの伝言(4), ひろみちゅ(22), セックル(3), 高木先生(3), 徳丸(4), カイドウ(4), usagi(5), ガザ地区(3), ベーシックインカム(25), 接種(53), 予約(64), 文法(11), 飼う(11), 所得税(11), 番号(20), ひろゆき(12), 処女(26), ワクチン(93), 学術(16), 権威(13), システム(96), 共産党(17), 大規模(15), ウマ娘(24), マスコミ(22), 弱者男性(72), IT(36), 科学(19), 救わ(20), 政府(60)

頻出トラックバック先 ()内の数字は被トラックバック件数

■みんなやってるけど公には言わないグレーな行為 /20210518100156(75), ■葬式シーンで雨が降ってるとムカつく病 /20210517205623(25), ■マジでいいところまで書いてて死んでしまった作家 /20210518144014(20), ■中国韓国との競争に敗れ衰退が続く日本造船業について /20210518071533(18), ■ワクチン予約のクソシステムについての私見 /20210517201151(16), ■5大、終わらせる気がなさそうなダラダラ漫画 /20210518111230(16), ■彼女実家家族がドカタであることが判明してショックだった /20210518195105(14), ■母がハマってきたもの最近トレンド /20210518063647(14), ■まじめな話、男のどのくらいが処女厨なん? /20210518112052(13), ■弱者男性に1番厳しい属性ってフェミ男性なんだな /20210517201726(13), ■科学リテラシーって要するに権威主義って認識であってる? /20210516225443(11), ■本当の「弱者男性の丁寧な生活」 /20210517213621(11), ■スピリチュアルにハマる母についての考察 /20210518113034(11), ■疲れたから聞いてくれ /20210518140340(9), ■ワクチン予約のシステム納期ありきのクソプロジェクトあるあるすぎ /20210517234543(9), ■結局なぜ満員電車で大規模感染が引き起こされなかったのかの答えは出ていない /20210517170136(9), ■出先上司増田くん平成まれから円周率は3なんでしょ」 /20210518105636(9), ■有明アリーナ電通に1/5の価格譲渡される件のカラクリ /20210517222926(9), ■孫子巧遅より拙速なんていってない /20210518113524(8), ■anond20210518160647 /20210518161458(8)

2021-05-18

もし、あなたワクチン予約のサイト脆弱性発見してしまったら

やるべきことはひとつです。

IPAの「脆弱性関連情報の届出受付」に届け出ましょう!

脆弱性関連情報の届出受付

https://www.ipa.go.jp/security/vuln/report/

脆弱性情報を適切に共有するために

https://www.npa.go.jp/cyber/kanminboard/siryou/sec_hole/partnership.html

間違っても、5chに「SQLインジェクションできる」などと書き込んだり、個人ブログ脆弱性をつく手口を公開したりすべきではありません。

また、それらの情報を粗雑な粒度でまとめたツイートまとめサイト記事などの拡散に協力すべきでもありません。

上記行為は、法的責任に問われる可能性があるだけでなく、当該サイト攻撃リスク晒す行為でもあります

もちろん、日々圏論データ分析記事ブクマし、技術力の向上に努める技術寄りのはてな民情報セキュリティ教育の基礎の基礎をすっ飛ばしているとは思いませんので、釈迦に説法とは思いますが、一応のリマインドとして置いておきます

anond:20210518154151

フレームワーク偽装サイトをつくって

街のあるSQL入のフレームワークを上げておいて

クリック詐欺ダウンロードさせて

すり替えるのもSQLインジェクション

フレームワークを狙う方法もある。DNS偽装を使うと、ほぼあらゆるフレームワークがインジェクション

DNSインジェクション こんなもの署名検証で一撃だけど 署名検証しないAutoUpdateがどんだけあると思ってんだと

そして、じゃぁ署名検証をすれば

偽装署名インジェクション

 

基本的プログラマが気をつけるレベルでこれ

セキュリティ担当だともっとうるさいが、そこが面白い話がある

 

おれたちプログラマーが、銀座で口が軽くなるの法則知ってる?酔っ払うとどうしてもな

コカ・コーラおいしいよな(つたわれ日本語)  しーよな おい47ぁ 伝わる俺たちの暗号

anond:20210518152433

>付け加えると、更新系処理のSQLインジェクションを「安全に」確認することも難しいです。試している人は「正義のため」という意識でやっているかもしれませんが、本番データ壊したら「正義」どころではないですから

https://twitter.com/ockeghem/status/1394464099405160450

大規模接種予約システム、開発元は仕様通りの代物を納品しただけだろ

本来なら各自治体が作成した優先接種対象者情報マイナンバー、接種券番号、氏名、生年月日)を大規模予約システムに集約し照合をかけるべきだった。

しかしなあ、優先接種対象者連携仕様ができたのいつだと思う?ついこの間の4月だよ。

ベンダー側のプログラム入替が完了してなくて未対応自治体ほとんどだよ。

防衛省仕様段階で照合なしの予約システムだったのは確定だろう。

存在しない生年月日と自治体コードくらいはバリデーションすべきだとは思うが、

リリース前に開発元がやれたことといったらそのくらいしかない。

あとSQLインジェクションの噂があるが、本当であれば速やかにIPAなり開発元なり防衛省なりに通知すべきことで、噂だけ広めていいことじゃないだろう。

事実ではなかった場合は、例え噂を広めただけでも名誉棄損に問われる可能性もあるわけで、みなさん言動には慎重になろうよ。

日本人ってほんとクソだな。

ワクチン大規模接種東京センターの予約システムに重大欠陥

https://dot.asahi.com/dot/2021051700045.html

悲報防衛省ワクチン予約システム 早速ネット民おもちゃに「SQLインジェクションできる」「同じ番号入れるとその前の予約がキャンセル

https://togetter.com/li/1716106

1年前から準備しとけ、とか、アプリ実装がクソとか、政府対応にかなり問題があるのは解るけど、だからって、勝手に予約したり、遊びものにしていいもんじゃないだろ。

日本人の大好きな「人の揚げ足取り」してる状況か?

利用方法注意喚起して、みんなで善意で回すのが、最善だろ。どう考えたって

ホントクソ

2021-05-17

anond:20210517201151

この記事をめぐる話題について。システム的な側面よかもうちょい根っこの部分で噛み合ってない気がしてて。

これから数ヶ月でてんこ盛りで来るはずのワクチンをどう捌くかというのが論点のはずなのに、

ワクチン一滴血の一滴!二重予約を許すな」的な論調がやたら強くない?という感じがする。

ワクチン契約状況は厚労省プレスリリースによるとだいたいこんな感じで

令和3年1月 20

本日厚生労働省は、米国ファイザー社の新型コロナウイルスワクチンについて、

日本での薬事承認等を前提に、年内に約1億 4,400 万回分の供給を受けることについ

て、ファイザー株式会社契約等を締結しましたので、お知らせします。

https://www.mhlw.go.jp/content/10906000/000723852.pdf

( https://flyteam.jp/news/article/131928 の表はおそらくこの契約の一部分。5月には週1000万本ペースで5000万本の入荷予定との話だけど、河野大臣が以前出してたツイや厚労省の接種予定報告とおおむね整合性が取れてる)

令和2年 10 月 29 日

本日厚生労働省は、米国モデルナ社及び武田薬品工業株式会社が新型コロナワク

チンの開発に成功した場合武田薬品工業株式会社による国内での流通のもと、来年

上半期に 4,000 万回分(2,000 万人分)、来年第3四半期に 1,000 万回分(500 万人分)

の合計 5,000 万回分(2,500 万人分)の供給を受けることについて、両者と契約を締結

しましたので、お知らせします。

https://www.mhlw.go.jp/content/10906000/000723852.pdf

令和3年5月14日

本日厚生労働省は、米国ファイザー社の新型コロナウイルスワクチンについて、本年第3四半期(7月~9月)に

約5,000 万回分の追加供給を受けることについて、ファイザー株式会社契約を締結しましたので、お知らせします。

https://www.mhlw.go.jp/stf/newpage_18648.html

まとめると、今後数ヶ月で1億本分以上のワクチンが来る予定が立ってる(ほんとに予定通り来るかどうかは来てみないとわからないけど)。

まあ国内の各地自治体に分配する手間があるので、入荷したらすぐに射てるようになる訳ではないけれど。

 

で、おそらく件の「ワクチン予約のクソシステム」は、この直近数ヶ月で積み上がるであろう莫大な在庫賞味期限があるし保存も面倒だし長時間停電とか発生したら責任問題で目もあてられないし一刻も早く減らしたい)をいかハイペースで減らすかというのが大目標になってるはず。

と考えると、市町村の接種システムとの二重予約とかシステム内の多重予約をどうするかみたいな(システム的に解決しようとしたら外部連携コスト時間がかかりそうだけど、運用回避できそうな)話、二の次になってもしょうがないよな感がある。

なんというか、「ちゃんとした」システム来年あたりの余裕が出来たときに改めて開発良いのでは?今必要なのは直近で業務を回せる「クソシステム」で。

まともなシステムでもクソシステムでも、どのみち会場で本人確認は取らないといけないし、イレギュラーな予約を会場で弾くのもまあありなんじゃね感。

 

「いやそれでもちゃんと事前に計画しとけよ」というのは正論では有るけど、上で貼った契約のうち三個目の7~9月に5000万回分入荷する話が公開されたの、ほんの数日前だかんね。

事前計画がきちんと固まってから動いてたら間に合わない。

 

 

あと一応貼っとくけど、世界に冠たるIT先進国アメリカワクチン接種管理、こんな感じのゆるゆるシステムなので。

https://jp.wsj.com/articles/covid-19-vaccination-cards-are-the-only-proof-of-shots-soon-an-essential-11617162748

これでも仕組みは回る。「とにかく接種数を稼ぐ」という目標関係者全員で共有できれば…だけど。

追記:

現状が理想と言いたいわけじゃなく、ここ数ヶ月から半年ぐらいの土壇場を乗り切るために突貫工事もやむを得ないし、必要に迫られてる突貫工事に対して「ちゃんとやれ」というのはあん意味ないよねという話。(「ちゃんと」やった結果としてスケジュールが遅れたら洒落にならないので)

まあ、流石にSQLインジェクションであれこれ的な話が本当なら要改修だと思うけど。

ワクチン予約のクソシステムについての私見

5/18 追記

色々情報が出てきたので答え合わせ。

前提として、

 その通達では、券番号として、自治体内で一意であることしか定められていなかった。

 したがって早期にシステムが稼働していることが求められ、期間的に全国2000ある自治体システム連携させるとか、自治体データ入力させるとかいった手立てはとれない。

 また、本システムから発番済みの番号がわからない以上、仮パスワード登録すること自体が困難。

システム設計レイヤー問題と、実装レイヤー問題があって、その2つは分けて考えないといけない。

実装レイヤー問題

SQLインジェクション可能とか、無茶苦茶な生年月日を登録できるとか。

これらはシステム会社責任

特にSQLインジェクション可能事実なら論外で、自治体連携させなくてむしろよかったなぁという感想

でも、5chのデマらしいけど。

システム設計レイヤー問題

誰でも予約可能みたいなのは、このシステム会社からはどうしようもなかった。

生年月日を仮パスワードにして〜は、自治体けができること。

しろ全国横断のシステムにするのではなく、パッケージにして、自治体に配布するほうが良かったんではと思うが、それはそれで、自治体側に運用コストが発生するし、結局データ自治体側に入力させることになるし、早期の稼働には間に合わなかっただろう。

結論

システムには、開発会社に起因する、稚拙不具合が含まれている一方で、認証まわりの誰でもログイン問題は、開発会社責任ではない。

去年の早い時期、ワクチン交渉の段階で、官邸厚労省はすでに設計を開始しておくべきだった。

「誰でも予約」の問題は、直接には官邸の思いつきの大規模接種のブッコミが原因だけど、そもそも大規模接種や予約の問題は、厚労省が接種番号の仕様設計の段階で考慮しておくべきことだった。QRコードもな。

おまけ(どうすればよかったの?)

「この日に来てください、嫌なら希望の日の当日整理券を受け取って、別レーンに並んでください、接種券と本人確認書類を持ってきてね」ってはがきを送りつければよかった。

追記ここまで

=============

この件ね

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

いや俺も、最初はこの会社クソやなと思ったんだけどさ。冷静に考えると、取れる手立ては少ないんでは。

このシステム、まともに作るなら、ワクチン接種番号の他に仮パスワードをつけてログインさせ、初回ログイン時にパスワード変更させるかたちになるだろう。

年寄りにそれができると思えないし、問い合わせは今の10倍以上くるだろう。

それに、日本中からアクセスしても落ちない認証システムを、このためだけに急遽立てろというのは酷だよ。

認証させないなら、それはそれで他人の番号で勝手に予約して、本人に摂取させない嫌がらせができてしまう。

そもそもワクチン接種券の仕様を決めたのは、竹中会社じゃない。仮パスワード印刷をして各家庭に配布するのも、竹中会社じゃむりだし、自衛隊側も嫌がるだろう。

詰んでんだよね。

そもそも番号と個人の紐づけ情報を参照できたのかも不明なんだけど。

なんか、システム会社を責める人も多いみたいだけど、それよりもっと以前、厚労省の段階から計画だったんじゃねぇの。

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