バグハンティングサイバーセキュリティへのデビューと品質コードを書く
バグが非常に無実の欠陥、不注意な誤りがあることがありえるかもしれないが、コードベースの大きい論理的エラーのために、それがまだexploitより大きい指数関数的に大きいことがありえます.
eg. a small rounding error in the calculation of an orbit of a satellite can cause major financial damages with many other implications like space pollution.
したがって、すべての開発者は基本的なサイバーセキュリティプラクティスを認識する必要があります!
これを達成するためにSDLCパイプラインを使用できます.
1)計画
プロジェクトについての基本的な計画を構築し、プロジェクトのすべての機能がカバーされ、プロジェクトに取り組んでいるさまざまなチームや人々の間に誤解はありません.
こうすることができるいくつかのことは、Cakewalkがあなたのアプリケーションの大まかな流れをするためにLucidchartのようなツールを利用することです.また、開発のこの段階でクライアントからのアドバイスを含めることができます!
Jiraのようなツールは、仕事を代表して、ものの上にいておくことができます!
2 )分析
あなたのアプリケーションの基本的な流れとあなたのチームとクライアントからのいろいろな入力をしたあと、あなたは正確にプロジェクトで確立する必要があるものの非常に良い理解があります.これは、技術のスタックとプロジェクトの複雑さを把握するのに適切な時期です.
3)設計
プロジェクトのこの段階では、UI/UX、Authflow等を含むアプリケーションのプロトタイプを持つことで、アプリケーションのワイヤフレームを作成することから始めなければなりません.
Figmaのようなこのツールのためのlifesaverすることができます!
4 )ビルド
これは、作業の主要な部分が行われ、プロジェクトの基盤がレイアウトされている部分ですので、コードをデバッグして維持するのが簡単になるようにエレガントなコードを書くことが不可欠です.
JavaScript/TypesScriptベースのプロジェクトのためのeslint、huskyなどの開発ツールを使用することができますが、そのようなツールは、ほとんどすべてのアーキテクチャ、言語またはフレームワークのために存在することができます.
5 )テスト
これは、アプリケーションのサイバーセキュリティの側面に関する非常に重要なステップです.アプリケーションのテストは、JavaScript等のMochaのような複数のテストフレームワークを使用して、単体テストのような複数のテストパラダイムを使用して行うことができます!
異なるテストパラダイムについて読む良いリソースは、here.
また、顧客/クライアントからの入力を取ることも深く役立つことができる、これはベータテストプログラムを介して行うことができます.
展開
それは、アプリケーションが配備される方法のように見えないかもしれませんが、アプリケーションのセキュリティに根本的な影響を及ぼすことができます.コンテナの中でサンドボックスされているか、SSL/TLS証明書を持っているか、ロードバランサを持つことのような側面は、それが最も重要であるとき、あなたのアプリケーションを作るか、壊すことができます.ので、確実かつ確実にあなたのアプリケーションを展開するようにしてください!
Beware this is the stage where Project Secrets are leaked the most!
維持管理
プロジェクトがパブリックドメインに起動されると、定期的なメンテナンスは、少なくとも言う必要があります.
ユーザーがWinstonのようなuse loggersを作ることによってあなたのアプリケーションとどのように相互作用しているかに注目しなければなりません.
TrivyとDependabotアラートのようなツールの使用は、アプリケーションのピア依存関係における脆弱性の流入を避けるために、オートメーションスクリプトとバージョンコントロールと組み合わせて使用することができます.
それはあなたのプロジェクトのインフラストラクチャを傷つけるよりもむしろあなたにそれを報告するために脆弱性を見つける人々にインセンティブを与えるように提供するバグの恩恵は、災害を回避することができます.
However the above might seem trivial and not closely related to Cybersecurity, believe me it would lead to you avoiding having silly bugs in your code in the first place and make your life way easier in the future.
アプリケーションのバグを見つける
1)テストのための非常に一般的な方法は、BeVigil、携帯電話のアプリの脆弱性発見ツールのような自動テストツールを使用することです!そのようなツールでは、秘密のキーリークを見つけるのに役立つことができますし、ボタンをクリックしてはるかに.多くの努力がなければ、作業と存在する可能性がありますバグに洞察力を得ることができます.
2)コードの所有権は、コードをテストできる環境を決定します.
Whitebox -ホワイトボックスの環境では、CodeBase全体とアプリケーションのロジックの動作の明確な理解へのアクセスがあります.一般に、そのような環境でバグを見つけることは簡単です.
ブラックボックス- Blackbox環境では、エンドユーザーが直面しているアプリケーションに直面しており、アプリケーションの内部作業についてすべての
グレイボックス-灰色のボックスでは、一部またはアプリケーションの内部の作業についてのあいまいなアイデアを持っている.
ここでは非常に一般的なバグの例を示します.
Many applications make use of structured databases for the operation of an authentication systems, search fields etc. A vulnerability called SQL Injection can quite commonly be found in such applications
この24679152を訪問するに従ってください.我々は今日の最初のバグを見つけるつもりです!
あなたがリンクを訪問するとき、あなたはこのようなもので迎えられなければなりません
link
私たちは初心者なので、私たちのために行くいくつかのヒントを得た!🤩
それの外観から、アプリは入力を与える検索プログラムのように動作し、結果の出力は入力に基づいて生成されます.
我々が我々のヒントを見るならば、それは言います
SELECT * FROM webfour.webfour where name = '$input'
SQLを知っていない人々でさえ、単に英語としてコードを読んで、タグを付けることができます.つまり、WebFourから選択します.WebFOX (データベーステーブル)
したがって、入力フィールドに書くものは、
$input
の代わりに書きますそれで、我々が線に沿って何かを書くならば
foobar' OR '1'='1
結果のクエリはSELECT * FROM webfour.webfour where name = 'foobar' OR '1'='1'
それで、我々は基本的に条件が常に真実であるデータベースからすべてを選ぶと言います.したがって、データベースのすべてのエントリを取得する
これは私の友人は、データベースのリークと呼ばれています!
ドント
あなたがレポートを書いているとき、それはあなたのレポートがトリアージプロセスを介して開発者に到達する方法を知っているために有益です.
これは、より良いレポートを書いて、あなたが値するバグ賞金を得るのを助けることができます.🤠
サンプルのバグレポートは次のようになります.
Bug Name: Application crashes upon clicking the SAVE button while creating a new user.
Area Path: USERS menu -> New Users
Build Number: Version Number 5.0.1
Severity: HIGH (High/Medium/Low) or 1
Priority: HIGH (High/Medium/Low) or 1
Assigned to: Developer-X
Reported By: Your Name
Reported On: Date
Reason: Defect
Status: New/Open/Active (Depends on the Tool you are using)
Environment: Windows 2003/SQL Server 2005
Description: Application crashes upon clicking the SAVE button while creating a new the user, hence unable to create a new user in the application.
Steps to Reproduce:
1) Login into the Application.
2) Navigate to the Users Menu -> New User
3) Filled out all the user information fields.
4) Clicked on the ‘Save’ button.
5) Seen an error page “ORA1090 Exception: Insert values Error…”
6) See the attached logs for more information (Attach more logs related to the bug if any)
7) Also see the attached screenshot of the error page.
Expected Result: On clicking the SAVE button, you should be prompted to a successful message “New User has been created successfully”.
(Attach ‘application crash’ screenshot. IF any)
私は、ポストが少し長くあったかもしれないということを知っています✌.リソース
以下のワークショップは、と
Reference
この問題について(バグハンティングサイバーセキュリティへのデビューと品質コードを書く), 我々は、より多くの情報をここで見つけました https://dev.to/mannangoyal/debut-to-bug-hunting-cybersecurity-and-writing-quality-code-272cテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol