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

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

Snyk CodeでTrojan Source(トロイのソース)攻撃を防ぐ

本記事は、2021年11月17日に公開したブログ[How to prevent Trojan Source attacks with Snyk Code](https://snyk.io/blog/how-to-prevent-trojan-source-attacks-with-snyk-code/)を日本語化した内容です。

![logo-solid-background.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216557/dee60280-b79c-db40-74c6-a2e58d17b467.png)

#はじめに
今月初め、ケンブリッジ大学の研究者グループは、ソースコードに現れる可能性のある新しいタイプの潜在的な脆弱性に関する[学術論文](https://www.trojansource.codes/trojan-source.pdf)を発表し、それに関する[ウェブサイト](https://www.trojansource.codes/)を公開しました。彼らはこれを「Trojan

元記事を表示

SQLインジェクションを防ぐ 〜序章

https://snyk.io/blog/sql-injection-cheat-sheet/

ソフトウェアというよりアプリ、SQLよりno SQLという言葉のほうがピンとくる人が増えてきているかもしれません。はじめてno SQLついて知ったときには、SQLじゃないのにDBなんだ?!、どういうこと?とびっくりしましたが、ネーミングもさることながら、データのマネージメント、データサイエンティストについて、高校の時からしっていれば(どんだけ前だよ!)、、、そうすれば、数学もっと頑張ったのに。。。と、後悔、先に立たずです。

ちなみにアプリは英語ではアップ(英語ではapp)というのが一般的。(アはエにちかいアですwww)
SQLは(エス・キュー・エル)は、英語ではシークェル。響きがけっこう違いますよね。
海外のエンジニアと話していて、
SQLのこと話してるのに、シーコールとか、Cカールとか聞こえるし、なんなん?と、とまどった経験があるある!の方も多いのではないでしょうか。

さて、前々回に[java sciptのnode.jpのコードインジェクション](https://qiita.com

元記事を表示

SQLインジェクションを防ぐ 〜1

#####SQLコードインジェクション防止の8のベストプラクティス
https://snyk.io/blog/sql-injection-cheat-sheet/

[序章](https://qiita.com/bricolageart/items/f87dd0d98f1e1b5c4666)から、早速1つ目、クライアントサイドの入力バリデーションに依存しないについてご紹介します。

1. [x] クライアントサイドの入力バリデーションに依存しない
– [ ] 制限された権限を持つデータベースユーザーを使用する
– [ ] プリペアドステートメントとクエリパラメータ化を使用する
– [ ] コードをスキャンしてSQLインジェクションの脆弱性を探す
– [ ] ORMレイヤーを使用する
– [ ] ブロックリストに依存しない
– [ ] 入力バリデーションを行う
– [ ] ストアドプロシージャに注意する

[チートシート(英語)はこちら](https://snyk.io/wp-content/uploads/8-best-practices-to-prevent

元記事を表示

【★守護神に俺はなる★】フィッシング詐欺を様々なWebサイトを用いて見破る方法

#初めに

どうも、クソ雑魚のなんちゃてエンジニアです。

今回の記事は前回のフィッシングサイト建設にあやかり、防御者目線でフィッシングを見破る方法を記載していこうと思う。
以下に前回の攻撃者目線でのフィッシングサイト建設を紹介した記事を載せる。

https://qiita.com/schectman-hell/items/cc165faef707aec1a934

「こりゃ正規なお知らせかどうか、ちょっとわからんな…」
こういった状況の場合の判断方法として活用してほしい。

#目次
+ 具体的な調査対象
+ 調査をするための一部Webサイト紹介
+ 実際の調査
+ Google透過性レポート
+ aguse
+ urlscan
+ virustotal
+ 総括
+ まとめ

#具体的な調査対象
前回紹介した記事の中に最近のフィッシングの手口を紹介した章を用意したが、この中で紹介した「SMS」や「メール」を用いたフィッシングを今回も題材にしていこうと思う。
このフィッシング詐欺の具体的な方法は大きく分けて二つある。

+ メールやSMS

元記事を表示

NVDのAPIを叩いて脆弱性情報を自動収集してみる

# 背景

 私の勤めている会社では脆弱性の情報収集はメーリングリストベースのサービスを利用しているが、提供される形がテキストベースであり、自動化には即していない形となっていて効率化が難しい状態。脆弱性情報の収集自動化のための試みとして、NVDのAPIを叩いてCVE情報を自動取得する。
(もうやられている方いるのは知っていますが勉強のため自分でやる)

# NVDのAPI

 NVDのデータを自動取得するための手段は[NVD Data Feeds](https://nvd.nist.gov/vuln/data-feeds)に記載されている。その中でAPIの情報は[こちら](https://nvd.nist.gov/vuln/data-feeds#APIS)にある。APIは主にCVEとCPEの2つが用意されている。共通プラットフォーム一覧CPE(Common Platform Enumeration)は脆弱性をさすものではないので、今回はCVEのAPIを利用する。
# CVEのAPI

 CVEのAPIはhttps://nvd.nist.gov/developers/vulnerabil

元記事を表示

【悪用ダメ】簡単★フィッシングサイト構築

#初めに

どうも、クソ雑魚のなんちゃてエンジニアです。

今回はコロナ禍になり急激に増えていたフィッシング詐欺に着目し、
実際にフィッシングサイトを攻撃者がどのように立てるのかを自分で検証した記事を投稿してみようと思う。

防御側からするとフィッシングサイトのテイクダウンやサービス利用者への注意喚起など、相当面倒な対応を強いられる中で攻撃者はどのようにフィッシングサイトを建設するのであろうか?

乞うご期待!

___※悪用するのはやめてください。あくまで社会への貢献のためにこれらの技術を使用してください。法に触れるので。___

#目次
+ 最近のフィッシング手口
+ 使用するツール紹介
+ setoolkit
+ evilginx2
+ 環境構築
+ フィッシングサイト実践
+ フィッシングサイト簡易構築編
+ 2要素認証突破編
+ まとめ

#最近のフィッシング手口
まずこのような詐欺は司法等の観点で特殊詐欺といわれるものに当たる。よく聞く「オレオレ詐欺」だとかその辺だ。
その中の手口には「電話」、「SMS」、「メール」等連絡手段を最初に用い

元記事を表示

DLP(Data Loss Prevention)対策 Azure Information Protection とは

久しぶりの記事。Azure Information Protectionについての情報があまり見当たらず自分自身なりに検証やスクショをとってみた。DLPという単語が使われることもあるが、ファイルが盗難や誤って添付してメール送信されても「しかるべき権限を持った人」でないとファイルにアクセスできないようにしたりファイル操作のログを取得したりするツールだと思ってよい。例えば社内にファイル閲覧を制限しておきAzure Active Directoryの認証なくしてファイルの中身が見れないようにすることができる。ラベル付けでファイルに対して暗号化がかかり暗号化を(自動)解除できる権限がなければ何もできなくなる。

#必要ライセンスとソフト
Azure Information Protection P1以上(Enterprise Mobility & Security E3などAzure Information Protectionが含まれているライセンスでも使用可)。Azure Information ProtectionクライアントをPCにインストールする必要がありグループポリシーなどでプッシ

元記事を表示

コーディング、どうする?

##「ありがとう」「すみません」の無限ループ列車とコーディング

数ヶ月前、IT系の企業に社会復帰し、早3ヶ月。PMまわりの仕事に関わらせていただいている。学ぶことが多すぎて、毎日、チーンと意気消沈で終わることが多い。救いは、出会いと学びがあること。

人との関わりが多い仕事のため、「thanks」「sorry」 「ありがとうございます」「すみませんでした」、の4フレーズはひっきりなしに使う。その中で、「sorry」と「すみません」については、超アジャイルの高速化が止まらない(悲)。ちまたではAgile is Deadアジャイルは死んだらしいということで、仕事がシンプルに「ありがとう」を中心に回せるようにLean化したいところである。

さて、自分の連日の意気消沈の理由は多々あるのだが、技術知識アップのために、今更ながらコーディングの101(基礎)から、学ぼうかとと少し考え初めている。

Linuxコマンドをかろうじて知っていたことが、まさかここで役立つなんて、、、という小さいガッツポーズの出来事があった。ちなみに大きな声では言えないが、かろうじて知っていたコマンドは`cd`, `ls

元記事を表示

ネットワーク/セキュリティのシミュレーター/エミュレーター情報収集

自分向けネットワークシミュレーター/ネットワークエミュレーターに関する情報まとめです。

https://nil.uniza.sk/network-simulation-virtualization-software-list/

https://www.brianlinkletter.com/open-source-network-simulators/

https://geekflare.com/cyberattack-simulation-tools/

https://tekunabe.hatenablog.jp/entry/2019/01/16/nw_auto_test_too

元記事を表示

【無料トライアル】セキュリティの「めんどくさい」を解決したい!デベロッパーファーストのSnyk入門編

この記事は、デベロッパーファーストのセキュリティプラットフォームSnykの入門編です。[Snykのドキュメント](https://docs.snyk.io/)の [Introduction to Snyk](https://docs.snyk.io/introducing-snyk/introduction-to-snyk?utm_medium=Referral&utm_source=Qiita) 及び [Getting started with Snyk products](https://docs.snyk.io/getting-started/getting-started-snyk-products?utm_medium=Referral&utm_source=Qiita)を翻訳した内容になります。
![logo-vertical-solid-background.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216557/cab870a4-7d28-977c-6e8a-0f294554117

元記事を表示

MVSPチェックリスト(日本語訳)

# 概要
GoogleとSalesforceが公開した[MVSPチェックリスト](https://mvsp.dev/mvsp.en/index.html)を[DeepL翻訳](https://www.deepl.com/ja/translator)しました。

#MVSP(Minimum Viable Secure Product)

Minimum Viable Secure Productは、B2Bソフトウェアおよびビジネスプロセスアウトソーシングのサプライヤ向けの最小限のセキュリティチェックリストです。

このチェックリストは、シンプルであることを念頭に設計されており、製品のセキュリティ態勢を最低限確保するために実装しなければならない管理項目のみが記載されています。

私たちは、B2Bソフトウェアを開発している企業、または広義の機密情報を取り扱っている企業に対し、少なくとも以下の対策を実施することを推奨します。また、セキュリティプログラムにおいては、これらの対策以上の対策を実施することを強く推奨します。

##1 ビジネス・コントロール

1 Business controls

元記事を表示

.NETにおけるSQLインジェクション対策

#SQLインジェクションとは
>SQLインジェクションとは、データベースと連動したWebアプリケーションなどに対する攻撃手法の一つで、検索文字列など外部から指定するパラメータの一部にSQL文の断片などを混入させ不正な操作を行うもの。また、そのような攻撃を可能にする脆弱性。
[引用元:IT用語辞典 e-words](https://e-words.jp/w/SQL%E3%82%A4%E3%83%B3%E3%82%B8%E3%82%A7%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3.html)

要するに、文字列を組み立ててSQLを動的に生成するアプリケーションに、悪意を持った文字列を渡して不正な操作をすること。

以下がサンプルコード(VB.NETで書きました)。パスワードを更新するサブルーチンです。

“`VB
”’パスワードをアップデートする
Public Sub Update(ByVal user_name As String, ByVal pass As String)
‘***** クエリを生成 ユーザー名とパスワードを変数としてクエリに組

元記事を表示

Firebase Authのカスタムクレームをターミナルから簡易に設定する

サービスの管理者でも、全権限がある人や、アルバイトで一時的に入った人など、細かく権限を設定したいものです。
Firebase Authのカスタムクレームという機能を使えば、細かい権限設定が行えます。

https://firebase.google.cn/docs/auth/admin/custom-claims?hl=ja

しかし、その登録はAdmin SDKを介するので、**NodeのRepl環境で行うのは、認証情報の初期化がややこしい**です。

個人的にかなりつまづいたので、共有させていただきます。

# localのfunctionsディレクトリでNodeを起動

まず、ターミナルで`functions/`のディレクトリに移動してNode Replを起動します。

“`bash
cd XXX/functions/
node
“`
# サービスアカウントの秘密鍵を作成

1. Firebase Consoleのプロジェクトの設定に移動する

エンジニアが意識すべき『情報セキュリティ』について

現在の私たちの日常生活や仕事において、インターネットはなくてはならない存在となりました。
しかし非常に便利で欠かせない存在であると同時に、『情報漏洩』や『不正アクセス』『ウイルス感染』などの脅威が存在することを忘れてはいけません。
特にエンジニアとしてWebサービスやアプリケーションを提供する立場として、サービスを利用してくださるお客様が安心して使えるものを作ることは非常に重要です。

しかしいきなり『セキュリティに気を付けろ!!』といわれても
・そもそも情報セキュリティって何?
・どんな脅威が潜んでいるのか?
・どんな対策方法があるのか?
を知らないと非常に困ってしまうと思います。

ということで『[キタミ式イラストIT塾 基本情報技術者 令和03年](https://www.amazon.co.jp/%E3%82%AD%E3%82%BF%E3%83%9F%E5%BC%8F%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88IT%E5%A1%BE-%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%8

元記事を表示

買ったらまず実施!Jetson Nanoのセットアップとセキュリティ対策

# はじめに
本記事は、**Jetson Nano**購入時の**セットアップ方法と、実施すべきセキュリティ対策**について紹介します。

# Jetson Nanoとセキュリティ
[Jetson Nano](https://www.nvidia.com/ja-jp/autonomous-machines/embedded-systems/jetson-nano/)は、ポータブルにDeep Learning等のAI技術を活用できるデバイスで、2021年時点では代表的なIoT製品の一つと言えます。

近年このような**IoT製品を悪用したセキュリティ攻撃が多発**しており、
その代表例である[マルウェア”Mirai”](https://www.ipa.go.jp/files/000059579.pdf)では、ネットに常時接続されたWebカメラの脆弱性を悪用されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/610167/067d2c77-91ef-1566-bd04-2b3bc6f

元記事を表示

(随時更新)メンバー30人以下くらいの副業もいるチームの社内セキュリティについて

この記事では、以下のようなチームを想定して、お金と手間をできるだけかけずにそこそこセキュリティを向上させることをまとめようと考えています。そんなんじゃだめだ!とか、こういう場合は漏れませんか?というコメント大歓迎です。

# 想定するチーム

– 営業やCS、マーケの人など全職種含めると30人前後あるいはそれ以下で、Webサービス(アプリ含む)開発を行っている
– 副業人材も多く、半数のメンバーは会社支給でないマシンを使っている
– それらのマシンは他社の業務でも使用されている
– Macが多めだがWindowsもいる
– 基本的に業務データはクラウド上にあり、PCローカルにあるのは開発途中のデータ、Biz/バックオフィス系のドキュメント、重たいデザイン系データ程度。自社データセンターや、オフィスネットワークでしかアクセスできないサーバはない。
– メインの業務ツールはGoogle WorkspaceとSlackとGitHub
– 予算はそんなにない。Slackもケチって一部メンバーはシングルチャネルゲストにしていたり、Google workspaceアカウントも付与していない

元記事を表示

セキュリティ

自分のメモとして

###参考サイト
https://www.security-next.com/130881

https://news.mynavi.jp/kikaku/tis_security-2/

https://enterprisezine.jp/article/detail/15052

元記事を表示

HTTPセッションIDをログイン時に更新する(セッション固定攻撃対策)


### はじめに

**「ログイン認証に成功したらセッションIDを更新する」**というのは、セッション固定化攻撃(Session Fixation)の対策としては有名な話かと思う。
PHPの[session_regenerate_id](https://www.php.net/manual/ja/function.session-regenerate-id.php)のようなWebアプリケーション・フレームワークにセッションIDを再生成する関数が用意されていればいいのだけど、そういう関数がない場合は、どういう実装方法があるのかという点について考察した。


### フレームワーク提供のHTTPセッションID + 独自乱数 = HTTPセッションID

単純な話で、ログイン時に**セキュアな乱数※を生成して**、それをセッション関数/セッションオブジェクトとクッキーに同時に保存する。

セッションIDの一意性はWebアプリケーション・フレームワーク提供のセッションIDが保証しているので、自作側(上記のセキュアな乱数)には一意性の必要性はなく、推測困難性だけでよい。
なので、適

元記事を表示

コードインジェクション攻撃

こんにちは。
今日のお題はコードインジェクションについてです。
JapaScriptのコーディングには自信がある方にも、お役にたちそうな記事内容を見つけました。

コードインジェクション攻撃で、注射針を思い出すのは私だけかと思っていたところ、こちらのブログ記事にも注射アイコンを発見。万国共通のイメージなんですね。

コーディングの段階からセキュリティを取り入れるという考え方が理にかなっているとはわかるけど、やっぱりちょっと面倒、、、という方も、是非、最後まで読んでみてください。

##JavaScriptとNode.jsでコードインジェクションを防ぐ5つの方法
https://snyk.io/blog/5-ways-to-prevent-code-injection-in-javascript-and-node-js/

JavaScriptとNode.jsでコードインジェクションを防ぐ5つの方法
Liran Tal (リラン・タル)
2021年4月5日

コードインジェクションを防ぐ安全なコードを書くのは簡単なようで実は、多くの落とし穴があります。たとえば、あなた自身がデベロッ

元記事を表示

パスワード変更で、そのユーザのHTTPセッションをすべて破棄する


### はじめに

Webアプリケーションで、**利用者が「パスワード変更」**を行ったら、**そのユーザのHTTPセッションをすべて破棄する。**
という実装を一般的なWebアプリケーション・フレームワークではどのように実装するのかという点について考察した。


### なぜこれが必要なのか

ユーザのHTTPセッションが、不正行為者にハイジャック(乗っ取り)されている場合、利用者はパスワード変更で不正行為者が乗っ取っているHTTPセッションを破棄することができる。

しかしながら、パスワードが漏洩している場合は、不正行為者が先にパスワード変更されると**「おしまい(パスワード変更での2要素認証は必須)」**だが、不正行為者よりも先にパスワード変更ができれば、不正行為をその時点までに止めることもできる。

(セッションハイジャックされた原因がそのままだと、再度ハイジャックされるかもしれないが・・・)

![passChg02a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182822/

元記事を表示

OTHERカテゴリの最新記事