今さら聞けないセキュリティ 2021年03月30日

今さら聞けないセキュリティ 2021年03月30日

暗号化、デジタル署名、SSL通信

#暗号化技術
暗号化とは、中身を見てもわからない形へと変換すること

#公開鍵暗号方式
暗号化に使う鍵と復号に使う鍵が別物

**特徴**
・秘密鍵と公開鍵はペア
・暗号化は、公開鍵
・復号化は、秘密鍵で行う

公開鍵を配布して「自分に送ってくる時はこの鍵を使って暗号化してください」とする。
暗号化されたデータは、それとペアになる秘密鍵でしか復号化できない。

**メリット**
・データの安全性の高さ
・公開鍵の管理も容易

**デメリット**
・暗号化、復号が複雑で処理時間がかかる

#デジタル署名
公開鍵暗号方式技術を応用し、改ざんされていないか、誰が送信したものかを確認できるようにする
ハッシュ化という手法で短いデータを作成しそれを暗号化することをデジタル署名

#ハッシュ化
ハッシュ化は、ルールに基づき別の値に変えること
ある特定の文字列や数字の羅列を一定のルール(ハッシュ関数)に基づいた計算手順によって別の値(ハッシュ値)に置換

**ハッシュ化が適するシーン**
「その値を元に戻す必要性がないシーン」。代表的な例が『パスワードの保管』

**暗号化が適するシーン**
暗号化

元記事を表示

CKS (Certified Kubernetes Security Specialist) 合格体験記

# はじめに

CKS (Certified Kubernetes Security Specialist) の合格体験記です!

# 受験した資格

* [Certified Kubernetes Security Specialist](https://training.linuxfoundation.org/ja/certification/certified-kubernetes-security-specialist/)
* 主催: [The Linux Foundation](https://www.linuxfoundation.org/)
* 費用: 300ドル(USD)※ 私はこの値段ではなく、後述するバンドル(セット)で安く購入しました。

# 内容

[公式サイト](https://training.linuxfoundation.org/ja/certification/certified-kubernetes-security-specialist/)に以下のように書かれています。

> CKSを取得することで、コンテナベースのアプリケーションやKuberne

元記事を表示

Vue.js開発におけるXSS対策 メモ

* Vue.js開発におけるXSS対策について、学習した内容を備忘録としてメモする。

## XSS(クロスサイトスクリプティング)とは

* 発生の流れ
* 攻撃者は、入力内容に、スクリプト付のリンクを貼る等の罠を仕掛ける。
* 被害者となるユーザが誤って罠を実行する(リンクをクリック等)と、セキュリティ的に問題のある別のウェブサイト(クロスサイト)に対し、脆弱性を利用した悪意のあるスクリプトが含まれた通信が実行される。
* その結果、偽のページがユーザに表示される。
* 反射型、蓄積型、DOMベース型がある。

### XSSによる被害

* CookieやlocalStorageに保存された個人情報などの抜き取り。
* Webページの改竄(入力フォーム送信先の変更など)

### DOM ベース XSS

* 攻撃者が実行可能なJavaScriptをJavaScriptによって生成されるHTML DOMに注入できる脆弱性。

* SPAのような、Web ページ全体を都度読み込むのではなく、ページの一部分を書き換えるアプリで発生する可能性がある。

元記事を表示

クラウドセキュリティ監査ツール「Scout Suite」を使って、ゆるゆる設定のAWS環境をチェックしてみた

最近、セキュリティ関係のセミナーに参加して、「[Scout Suite](https://github.com/nccgroup/ScoutSuite)」というクラウド環境のセキュリティ監査ツールの存在を知り、個人のAWS環境にわざと緩めの設定を追加してチェックしてみたので、その際の手順を残しておきます。

# Scout Suiteとは?
[GitHubの「Description」](https://github.com/nccgroup/ScoutSuite#description)にて「Scout Suite is an open source multi-cloud security-auditing tool」と説明されているように、AWS、Azure、GCPなどの複数のクラウド事業者([GitHubの「Cloud Provider Support」を参照](https://github.com/nccgroup/ScoutSuite#cloud-provider-support))に対応しているセキュリティ監査ツールです。
チェックを行いたいクラウド事業者の環境に対してSc

元記事を表示

レインボー攻撃

#レインボー攻撃
ハッシュ値から、もとのデータ(パスワード)を割り出そうとする方法。
ハッシュ値はハッシュ関数から生成される戻り値のことで、データをハッシュ関数に入力すると
ランダムに値が主力される。
似た文字でも、ぜんぜん違う値になって、もとのデータを再現はできない。
なので、セキリュティにむいている。
ハッシュ関数にもいろいろな種類があるらしい。

元記事を表示

SQLによるセキュリティ攻撃の知識

#本記事について
プログラミング初心者がセキュリティ攻撃に関する知識とその対策について学んだので、その備忘録として載せております。

どうかお手柔らかにお願いいたしますm (- -)(_ _)ペコリ

##SQLインジェクション
・アプリケーションのSQLの不備を利用してデータベースシステムを不正操作する攻撃手法のこと

・外部からの入力によりアプリケーションが想定しないSQL文を実行することによって、認証を突破したり情報を盗んだりする攻撃手法のこと

・webページのテキスト入力欄やURLなどにSQL文を断片を埋め込むことで、データベースを改ざんしたり不正に情報を入手する手法。

・入力フォームから送信した値(例えばユーザー権限を変更するようなSQL文を仕込んで送信)によりアプリケーションが本来想定しないSQL文を実行させ攻撃を行う。

##SQLインジェクションの脆弱性を一般的に解消する方法
・SQLインジェクションを防ぐにはSQL文中で意味を持つ特殊文字のエスケープをしたり、プレースホルダーを用いたりすること

・SQL文が実行される際のプログラム処理の流れを利用してSQL文が変

元記事を表示

Ruby on Rails 製 Web アプリケーションのセキュリティテストガイド (静的テスト:SAST)

## これなに?

Ruby on Rails 製 Webアプリケーションのセキュリティテストをするためのガイドです。本ガイドは脆弱なRailsアプリである [RailsGoat](https://github.com/OWASP/railsgoat) を題材にセキュリティテストの手法を解説します。

本記事ではソースコードをレビューして脆弱性を発見する手法である __静的アプリケーションセキュリティテスト(SAST)__ を扱います。

### 対象読者

Ruby on Rails でプロダクト開発している組織の**セキュリティチーム**を想定していますが、セキュリティに関心がある**開発者**や**テスター**にとっても役立つしれません。

前提知識・スキル

– 情報セキュリティに関する基本的な用語を知ってること
– 基本的なWebアプリケーションの脆弱性について知ってること
– Ruby on Rails のコードが読めること
– Linux のコマンドを叩けること

### 目次

1. 静的アプリケーションセキュリティテストの準備
2. Rails のコードをBrake

元記事を表示

セッションを用いたセキュリティ攻撃の知識

#本記事について
プログラミング初心者がセキュリティ攻撃に関する知識とその対策について学んだので、その備忘録として載せております。

どうかお手柔らかにお願いいたしますm (- -)(_ _)ペコリ

##セッション
webサービスにおいて情報を一時的に保存しておく仕組み(概念)
利用者の状態を保持するために使用
保存先はクッキー

##クッキー
ブラウザにある一時的に保存できる保存場所

##セッションハイジャック
XSSなどを用いて、正規利用者ではない者が正規利用者のセッションを取得する手法
セッションが保存されているクッキーを狙った攻撃
セッションIDを盗み出す、または乗っ取る攻撃

クッキーにあるセッションIDという識別番号を盗み出すとセッションハイジャックが成立
クッキーにはセッションIDという識別番号を用いて保存している。

##セッションID
通信中の正規利用者(クラインアント)へ付与される、固有の識別情報
正規利用者を識別するために付与される固有の番号
→ログイン情報などが含まれている

セッションハイジャックをされると正規利用者できる大概のことができてしまう。
→送金

元記事を表示

IAM認証情報レポートに権限の詳細がないのでCLIで全部吐かせる

`{ユーザー名}.txt`のような形でユーザー数分のテキストファイルが出るようになれば、対外的に適切なユーザー管理している資料として十分なので、作成しました。

“`bash:s3user.txt
———————————————————–
| GetUser |
+———————————————————+
|| User ||
|+————-+—————————————–+|
|| Arn | arn:aws:iam::123456789012:user/s3user ||
|| CreateDate | 2018-01-01T20:00:00+00

元記事を表示

ストレージセキュリティに関する日本政府関連機関の動向(2020年度末版)

# はじめに

 2019年12月に、「個人情報が保存された自治体のHDDが、廃棄処理委託先業者の従業員により、データ復元可能な状態のまま転売された」という事件が発覚、報道されました[1]

 この事件については、以前の記事([こちら](https://qiita.com/ken-yossy/items/c2b0b8c389327b50d587 “安全な廃棄のために使用すべきストレージの機能(1/2)”)と[こちら](https://qiita.com/ken-yossy/items/d95f92056928e3a776c4 “安全な廃棄のために使用すべきストレージの機能(2/2)”))で、日本の政府系機関を対象とした情報記憶装置(ストレージ)の運用ライフサイクル(特に廃棄)に関する基準やガイドラインが最新技術に追随していないことを指摘し、ストレージを安全に廃棄するため利用すべき技術を説明しました。

 事件発覚からこれまで1年ほどの期間に発行された日本政府系機関の白書や情報セキュリティ関連の報告書そして基準などには、この事件を教訓とし、かつ最新の技術や環境に追

元記事を表示

セキュリティに関する知識

#本記事ついて
プログラミング初心者がセキュリティに関する知識を学んだので、その備忘録として載せております。

どうかお手柔らかにお願いいたしますm (- -)(_ _)ペコリ

##脆弱性
アプリケーション上で悪意のある者に攻撃を仕掛けられる際の弱点

##被害の想定をすることは重要
脆弱性を作り出さないために開発時にセキュリティを考慮した実装が必要
→未然に対策をしておく

##JavaScriptによるセキュリティ攻撃
JavaScriptはクライアント側で動くプログラミンング言語なので、ユーザーがwebアプリケーションに悪意のあるJavaScriptのプログラムを埋め込めば、そのプログラムを実行されてしまう恐れがある。

##XSS(クロスサイトスクリプティング)
JavaScriptを利用した攻撃方法。
悪意のあるJavaScriptプログラムを埋め込みそのサイトの利用者を攻撃する。

##スクリプト
「コードを書く → すぐに動かす 」ことができるプログラム
書いてすぐに実行できるプログラム

##スクリプティング
XSSのうち、スクリプトを埋め込んで実行させること

##

元記事を表示

HTTP と HTTPS の違い

## こんな人に向けて書いてます
この記事はWeb技術に関して知識が無い方やこれから学ぶという方向けに作成しました。
また、この記事の内容は [3 Minutes Networking](http://www5e.biglobe.ne.jp/aji/3min/ “3MinutesNetworking”) を参考にしています。

## HTTP とは?
簡単に言えば、**Webページを表示するまでに生じるやりとりの手順**のことです。
※正式には Hyper Text Transfer Protocol とし、1990年代から使われています。

そもそも、Webページはテキストや画像などのハイパーリンクを埋め込めるハイパーテキスト(HTMLで構成された文書)のことを指しており、ハイパーテキストはブラウザなどを介して表示します。表示する際にはそのハイパーテキストがある場所をURLを用いることで表示させます。

URLは管理されているドメインやパスが記載されたリソースとリソースの処理方法を指示するスキームに分かれており、HTTP は複数あるスキームの1つです。

ハイパーテキストが格納されて

元記事を表示

ウイルスが検出されました? 「嘘です!」

# 某人「ウイルス感染したー」

先月末頃、「PCがウイルスに感染したー!」というのを某人から相談受けた時のメモ。

## トラブル派生

某人「PCがウイルス感染したって、どうしよう…」

私「まずLANケーブル抜いて! そして待ってて」

この人のPCは有線接続だったのでLANケーブルを抜くのを指示しましたが、WiFiなら当然WiFiを切ります。
もし本当にウイルス感染していたら、そのPCを土台に他のPCへ感染を広げる恐れがあります。
問答無用でネットワークから切断しましょう。

そんなこんなで、もしEmoteみたいなやつだったりしたら嫌だなーって思いつつ、その人の元へ向かいました。

## 状況確認

私「来たよ、PC見せて」

某人「これー」

![matekora.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/915263/7ddf2841-1dc9-01d3-2edf-022580d37d6e.jpeg)

私「はい」

どうでもいいことだけど、選択肢「Ignore(無視)」は分かる。**「

元記事を表示

metasploitable の mutillidaeのTable ‘metasploit.tableName’ doesn’t existエラーの解決

# 概要
metasploitableのmutillidaeページが、以下のエラーメッセージが表示され、正常に機能しない問題の解決。

“`
Table ‘metasploit.tableName’ doesn’t exist
“`

# 解決方法
configファイルを編集する。

“`bash
sudo nano /var/www/mutillidae/config.inc
“`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608348/7c40acf4-2a93-e801-8e14-1d59c805b044.png)

$dbnameが初期ではmetasploitになっているが、これをowasp10に修正する。

元記事を表示

Linuxでログを無効化する

こんにちは、c477usです。
Linuxでは/var/log上にユーザーのトラフィックが記録されています。これはエラー・バグの特定や外部から侵入された際の攻撃者の特定には役立ちますが、ずっとログファイルを残しているとストレージを圧迫する恐れがあります。

/var/logを定期的に削除するのも手ですが、今回はそもそもログを無効化しログを保存しないようにする方法を紹介します。

#警告
**ログを無効化するとエラー・バグ原因の特定が困難になり、外部から侵入された際の攻撃者の特定も難しくなります。**

**全て自己責任で実行して下さい。**

#Linuxのログについて
ここではLinuxのログについて軽く説明します。とりあえずログの無効化を行いたい方はこの章を飛ばして下さい。

Linuxでは、基本的にログファイルを/var/log上に配置しています。また、ログファイルにはいくつか種類がありそれぞれが決まった役割を持っています。
今回はUbuntuでのログファイルについて説明しますが、他のディストリビューションでも大体同じです。

* auth.log
システムへのログイン履歴を格納

元記事を表示

脆弱性のキャッチアップメモ

いくつかの脆弱性についてキャッチアップしました。

## SQL injection

APはユーザからの入力を受け付け、その後SQLを実行するとユーザの入力により意図しない結果になる恐れがある。

**例**

このようなSQLがあるとします。

“`SQL
select * from user where userid = ‘{{userid}}’ and nm = ‘{{nm}}’;
“`

ユーザからの入力は:

– userid: 42′ or 1=1–
– nm: nm

変換後のSQL

“`SQL
select * from user where userid = ’42’ or 1=1– and nm = ‘nm’;
“`
になる。

こうして、42というユーザだけではなく、全てのユーザ情報が抽出されてしまうだ。

## SQL injection (second order)

SQLiと違って、ユーザが入力した情報をその場で利用せず、一回APのほうで保管します。
また未来のどこかのタイミングで仕込んだ情報が意図しない結果になる恐れがある。

**例

元記事を表示

GitにおけるRails Tutorialになかった注意点!(in チーム開発の学び)

# はじめに
これは実務と同じ方式で行うチーム開発体験学習で、
GitHubを利用する際、現役の先輩エンジニアにご指摘いただいた内容です。
それまで私は全く考えてこなかったことですが、セキュリティを考えると当然のことです。

# 目次

1. [gitに記録してはいけないもの](#Chapter1)
2. [もし実務でやったらセキュリティインシデント(アカンやつ)](#Chapter2)
3. [次からは気をつけよう。ネットに放流した鍵はもう安全ではない。](#Chaprter3)



# gitに記録してはいけないもの
端的に言うと下記2つのファイル

・ config/credential.yml.enc
・ config/master.key

これらをgitに記録してしまい、
あまつさえGitHubにプッシュしてしまいました。
やっちまったなあ!


# もし実務でやったらセキュリティインシデント
こちらをご覧くださ

元記事を表示

OnionPi ~ラズパイをOnionルーターにする

こんにちは、c477usです。
インターネットトラフィックを全てTor経由にする方法としてはTorProxyの導入が一般的ですが、全ての端末でTor通信を行いたい場合はOnionルーターという選択肢があります。
Onionルーターには[Anonabox](https://www.anonabox.com/)等の既製品もありますが、RaspberryPiで自作することもできます。
今回はその方法について解説していきます。

#環境
RaspberryPi 3 Model B+(WiFi/RJ45が組み込まれているものがおすすめ)
MicroSD 16GB
Raspbian Lite

#RaspberryPiの設定

##起動前
MicroSDにOSファイルを焼いたら、あらかじめSSH接続ができるように設定していきます。
以下の操作はMicroSD上の**boot**ディレクトリ上で行います。

まず**config.txt**の一番下に以下を追記して下さい。

“`code:config.txt
dtoverlay=dwc2
“`

次に、**cmdline.txt**上の**ro

元記事を表示

PirateBox ~オフラインでファイルをやり取りする

こんにちは、c477usです。
個人間でファイルをやり取りする際、距離が近い場合はUSBメモリーに保管する方法、遠い場合はメールに添付する方法がよく取られます。
PirateBoxもファイル共有の方法の1つですが、RaspberryPiを用いてかなり手軽に作ることができ使いやすく、また匿名性もある程度担保されます。
ファイル共有だけでなくチャット機能も利用できるためちょっとした連絡にも使えそうです。

#PirateBoxとは
**PirateBox**
https://piratebox.cc/

PirateBoxはオフラインでの匿名ファイル共有とコミュニケーションシステムを構築するためのソフトウェアです。
ハードウェアとしてRaspberryPiを使用しているため安価に実装することが出来ます。

##デッドドロップとは
PirateBoxはデッドドロップという手法を参考に開発されました。これは諜報機関の工作員(=スパイ)が安全に情報をやり取りするために考案されたものです。
手順としては非常に単純で、

1. 1人があらかじめ決めた場所で情報が入ったUSBメモリー等を落とす
2.

元記事を表示

難読化とMinifyについて

## はじめに(調べるに至った経緯)
ども!ワンピースの光月おでんがカッコよすぎて日々アニメを漁りながら自宅待機中の光月ギノキンです。

(・・・ではでは)

さっそく調べるに至った経緯ですが、近頃はフロント業務をやらせてもらっていて、Sentry(監視ツール)に届いたエラーをchromeのdevツールで検証しているのですが、devツール上で`main.js`の中身を見てみるとソースコードの記述とは違う乱数があり、

> なんだこれ。。エラー追えないやん。。。

ってなったので調べてみると、「難読化」、「Minify」を行っているらしかったので調べるに至りました。

## 難読化とは

> プログラマーがソースコードなどを意図的に読みにくく記述することで、可読性を著しく下げたり、解析し辛くする技術を「難読化」と呼びます。プログラムやアルゴリズムを隠したり不明瞭にすることにより、攻撃者にソフトウェアプログラムをリバースエンジニアリングされることを防止できます。
> 参照元:[「難読化」でリバースエンジニアリングを阻止しよう!](https://note.com/toast_nhnjp/n

元記事を表示

OTHERカテゴリの最新記事